我想删除一个目录,但是进程正在使用它。
mv : Access to the path 'C:\Users\mike\Documents\myapp\node_modules\' is denied.资源管理器提到正在使用的dir。是否存在与fuser等效的Windows?
注意,这是一个powershell问题。我不想启动GUI应用程序。
发布于 2016-08-25 14:54:27
试试这个:
$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 script to check an application that's locking a file?
发布于 2016-08-26 09:36:08
下面是@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.exehttps://stackoverflow.com/questions/39148304
复制相似问题