디렉토리를 삭제하려고하지만 프로세스에서 사용 중입니다.fuser equivalent?
mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.
탐색기에 디렉토리가 사용되고 있습니다. fuser
과 동일한 Windows Powershell이 있습니까?
이것은 파워 쉘 질문입니다. GUI 응용 프로그램을 실행하고 싶지 않습니다.
디렉토리를 삭제하려고하지만 프로세스에서 사용 중입니다.fuser equivalent?
mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.
탐색기에 디렉토리가 사용되고 있습니다. fuser
과 동일한 Windows 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 }}}
내가 퓨저에 상응이 없다 생각하지만, 수있는 도구라는 handle.exe가 먼저 설치하십시오.
PowerShell script to check an application that's locking a file?
여기에 상대적으로 파일을 처리 @ 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
}
}
}
}
: Eldo.Ob @
> fuser .\node_modules\
Id Path
-- ----
2660 C:\Program Files\nodejs\node.exe
감사합니다! 나는 이것이 전체 경로와 함께 작동하는 것처럼 보인다고 생각합니다 - 상대 폴더 이름으로 작업하게하는 방법은 없습니까? – mikemaccana
환영합니다 :) 아니요 전체 경로가 아닙니다. 스크립트는 지정된 디렉토리 또는 하위 디렉토리에서 실행중인 모든 프로세스를 가져옵니다. 따라서 "$ D : \"를 var $ lockedFolder에 설정하면 디렉토리 D : 또는 하위 디렉토리에서 실행중인 모든 프로세스가 생성됩니다. 그냥 시도하십시오 : '$ lockedFolder = "C : \ Windows \ System32" Get-Process | % {$ processVar = $ _; $ _. 모듈 | % $ {$ processVar.Name + "PID :"+ $ processVar.id + "FullName :"+ $ processVar.FileName}}}' –
오, 내가 만든 실수 :'$ lockedFolder = "C : \ Windows \ System32"Get-Process | % {$ processVar = $ _; $ _. 모듈 | % $ {FileName} "} {$ processVar.Name +"PID : "+ $ processVar.id +"FullName : "+ $ _. FileName}}}' –