ディレクトリを削除したいのですが、プロセスがそれを使用しています。
mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.
エクスプローラーは、ディレクトリが使用中であると述べています。に相当する Windows Powershell はありfuser
ますか?
これはpowershellの質問であることに注意してください。GUI アプリを起動したくありません。
ディレクトリを削除したいのですが、プロセスがそれを使用しています。
mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.
エクスプローラーは、ディレクトリが使用中であると述べています。に相当する Windows Powershell はありfuser
ますか?
これはpowershellの質問であることに注意してください。GUI アプリを起動したくありません。
これを試してください:
$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 というツールがあります。
これは、相対ファイルを処理する@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