1

ディレクトリを削除したいのですが、プロセスがそれを使用しています。

 mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.

エクスプローラーは、ディレクトリが使用中であると述べています。に相当する Windows Powershell はありfuserますか?

これはpowershellの質問であることに注意してください。GUI アプリを起動したくありません。

4

2 に答える 2

1

これを試してください:

$lockedFolder="C:\Windows\System32"
Get-Process | %{$processVar = $_;$_.Modules | %{if($_.FileName -like "$lockedFolder*"){$processVar.Name + " PID:" + $processVar.id}}}

これにより、フォルダー内で実行されているすべてのプロセスが検索されます。(またはサブディレクトリ内)

このスクリプトを使用すると、さらに多くの情報が得られます。

$lockedFolder="C:\Windows\System32" 
Get-Process | %{$processVar = $_;$_.Modules | %{if($_.FileName -like "$lockedFolder*"){$processVar.Name + " PID:" + $processVar.id + " FullName: " + $_.FileName }}}

fuser に相当するものはないと思いますが、最初にインストールする必要がある handle.exe というツールがあります。

ファイルをロックしているアプリケーションをチェックするPowerShellスクリプト?

于 2016-08-25T14:54:27.867 に答える
0

これは、相対ファイルを処理する@Eldo.Obの優れた回答の修正版です。

function fuser($relativeFile){
  $file = Resolve-Path $relativeFile
  foreach ( $Process in (Get-Process)) {
    foreach ( $Module in $Process.Modules) {
      if ( $Module.FileName -like "$file*" ) {
        $Process | select id, path
      }
    }
  }
}

使用中で:

> fuser .\node_modules\

  Id Path
  -- ----
2660 C:\Program Files\nodejs\node.exe
于 2016-08-26T09:36:08.023 に答える