如何找出Windows中哪个进程锁定了文件或文件夹?
例如,当尝试删除文件夹时,Windows报告以下内容:
无法完成该操作,因为该文件夹在另一个程序中打开
对于文件也是如此,但是如何找出当前正在使用哪个程序或应用程序并阻止我删除文件或文件夹?
如何找出Windows中哪个进程锁定了文件或文件夹?
例如,当尝试删除文件夹时,Windows报告以下内容:
无法完成该操作,因为该文件夹在另一个程序中打开
对于文件也是如此,但是如何找出当前正在使用哪个程序或应用程序并阻止我删除文件或文件夹?
Answers:
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
和重新启动来启用对本地文件的支持。
openfiles /local on
openfiles
似乎无法在64位Windows上运行:ERROR: The target system must be running a 32 bit OS.
openfiles /query /fo table | find /I "<path>"
?在纯cmd中实现它?
您可以为此使用Windows 7、8和10 内置的资源监视器。
找到手柄后,可以通过查看“图像”和/或“ PID”列来识别该过程。
然后,您可以尝试像往常一样关闭该应用程序,或者,如果不可能的话,只需右键单击该句柄并直接从那里终止该进程。十分简单!
有两个选择:
Microsoft / SysInternals Process Explorer-转到查找>查找句柄或DLL。在“句柄或DLL子字符串:”文本框中,键入文件的路径(例如“ C:\ path \ to \ file.txt”),然后单击“搜索”。应该列出该文件具有打开句柄的所有进程。
WhoLockMe-资源管理器扩展,其中添加了右键单击菜单选项
注意: WhoLockMe似乎不适用于Win 10(至少我无法使用regsvr32.exe的32位或64位版本进行注册)。
查看Process Explorer(procexp.exe
)。
从其介绍:
有没有想过哪个程序打开了特定的文件或目录?现在您可以找出答案。
要找出正在使用特定文件的进程,请按照下列步骤操作:
转到查找,查找句柄或DLL ..或直接按Ctrl+ F。
输入文件名,然后按搜索。
进程浏览器将列出所有具有打开文件句柄的进程。单击一个条目以将过程聚焦在主窗口中。
(可选)您甚至可以通过下部窗格(Ctrl+ L)手动关闭手柄:
LockHunter可以解锁可能已锁定文件或文件夹的所有处理程序。与类似的免费软件不同,它同时支持32位和64位Windows。
这是一个免费的工具,可以删除您不知道的东西阻止的文件。LockHunter对于抵御恶意软件和其他无原因阻止文件的程序很有用。与其他类似工具不同,它会将文件删除到回收站中,因此如果误删除文件,则可以将其还原。
- 显示锁定文件或文件夹的进程
- 允许解锁,删除,复制或重命名锁定的文件
- 允许终止锁定过程
- 允许删除硬盘驱动器上的锁定过程
- 集成到资源管理器菜单
- 它将文件删除到回收站中,因此如果误删除文件,则可以将其还原
- 同时支持32位和64位Windows
EMCO UnlockIT可以识别锁定文件的过程以及解锁文件的过程,以便您可以删除/编辑/移动它。该程序是完全免费的,尽管新版本比原始版本(后者具有纯净的,没有皮肤的GUI,但几乎立即加载且没有烦人的启动屏幕)要慢一些,而且more肿得多。而且,原始版本用于在触发您提到的错误时自动弹出,使您可以立即解锁文件并执行尝试的操作。
尽管如此,UnlockIT还是一个非常有用的程序,它提供Windows严重缺少的基本功能。它是我在使用的所有Windows计算机上安装的实用程序的标准工具包之一。
这是我的发现与解决方案。
顺便说一句,以上答案都不能解决我的问题。
我什至尝试使用UNLOCKER,事实证明它毫无价值。
我的问题是Memeo自动同步备份
显然,此备份过程留下了足够的“类似文件的鬼影”。每当我按Alt-Tab击我的计算机(Windows Professional XP)时,都会出现此“鬼文件”,即,当我在任务栏上只有一个可见文件时,将看到运行两个MS Excel程序。
当我以为是SYMANTEC Endpoint(防病毒)保护时,便遇到了这种解决方案。并禁用了该程序。但是,我一直收到错误消息:
无法删除(LARGE.xls文件):它正在由另一个人或程序使用。关闭任何可能正在使用此文件的程序,然后重试。
随后,我一直看到Memeo通知“正在同步”并退出程序。
随后,没有错误。
对您来说,这可能是这些背景保存中的任何一项。
这里的许多程序已经过时了。最后,我最终使用了nirsoft的OpenedFilesView,它运行得非常好。
尽管最好的部分是资源管理器菜单集成,但易于启用。根据网站
资源管理器上下文菜单
从版本1.10开始,您可以直接从Windows资源管理器启动OpenedFilesView,并仅查看要检查的文件或文件夹的句柄。为了启用此功能,请在“选项”菜单下选中“启用资源管理器上下文菜单”。启用此功能后,可以右键单击Windows资源管理器上的任何文件或文件夹,然后从菜单中选择“ OpenedFilesView”项。如果您为文件夹运行OpenedFilesView选项,它将显示该文件夹中所有打开的文件。如果您为文件运行OpenedFilesView选项,它将显示该文件的所有打开的句柄。
该工具在2019年仍然可以正常使用