如何找出 Windows 中哪个进程正在锁定文件或文件夹?
例如,当尝试删除文件夹时,Windows 会报告以下情况:
无法完成该操作,因为该文件夹已在另一个程序中打开
文件也发生同样的情况,但我如何找出当前正在使用它并阻止我删除文件或文件夹的程序或应用程序?
答案1
PowerShell 方法:
if ((Test-Path -Path $FileOrFolderPath) -eq $false) {
Write-Warning "File or directory does not exist."
} else {
$LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
Write-Host $LockingProcess
}
该openfiles
命令需要通过运行openfiles /local on
和重新启动来启用对本地文件的支持。
答案2
您可以使用资源监控因为这将会发生内置适用于 Windows 7、8、10 和 11!
- 打开资源监控,可以发现
- 通过搜索资源监控或者 恢复工具在开始菜单中,或
- 作为表现选项卡中的任务管理器
- 前往中央处理器标签
- 在里面流程部分,通过单击标题中“图像”旁边的复选框来选择所有流程。
- 使用搜索字段在里面关联句柄部分
- 参见下面屏幕截图中的蓝色箭头
找到句柄后,您可以通过查看图像和/或 PID 列来识别该过程。
然后,您可以尝试像平常一样关闭该应用程序,或者,如果这不可能,只需右键单击句柄并直接从那里终止该进程。 很简单!
答案3
有几个选择:
Microsoft/SysInternals 进程浏览器- 转到“查找”>“查找句柄或 DLL”。在“句柄或 DLL 子字符串:”文本框中,键入文件路径(例如“C:\path\to\file.txt”),然后单击“搜索”。应列出具有该文件的打开句柄的所有进程。
谁锁我- Explorer 扩展添加了右键菜单选项
注意:WhoLockMe 似乎不适用于 Win 10(至少我无法使用 32 位或 64 位版本的 regsvr32.exe 来注册它)。
答案4
锁猎人可以解锁任何可能锁定了您的文件或文件夹的处理程序。与类似的免费软件不同,它支持 32 位和 64 位 Windows。
这是一款免费工具,可用于删除被您不知道的某些东西阻止的文件。LockHunter 可用于对抗恶意软件和其他无缘无故阻止文件的程序。与其他类似工具不同,它会将文件删除到回收站中,因此如果误删除,您可以恢复它们。
- 显示锁定文件或文件夹的进程
- 允许解锁、删除、复制或重命名锁定的文件
- 允许终止锁定进程
- 允许从硬盘中删除锁定进程
- 集成到资源管理器菜单
- 它会将文件删除到回收站,因此如果误删除,您可以恢复它们
- 支持 32 位和 64 位 Windows