Fac*_*tic 157 windows file-management
有时,当我在 Windows 中工作时,当我尝试删除目录时会收到此提示:

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.
Run Code Online (Sandbox Code Playgroud)
但是,该文件夹根本没有“使用”,我也没有打开它。那么如何在不重新启动的情况下删除它呢?
bco*_*rso 223
有一个适用于 Windows 的本机 GUI:
开始>>所有程序>>附件>>系统工具>>资源监视器(或运行 resmon.exe)
您可以使用搜索框(红色圆圈)搜索“关联句柄”,然后右键单击要结束的进程。
例如,在下图中,我无法删除 Eclipse 目录。搜索与 Eclipse 关联的句柄显示 adb.exe 具有目录的句柄。结束 adb 进程后,我可以删除 Eclipse 目录。

小智 92
这个答案很旧,但似乎仍然有流量。如下所述,现在 Windows 中有一个内置工具:
开始 → 所有程序 → 附件 → 系统工具 → 资源监视器(或运行 resmon.exe)
您可以在下面的答案中获得更多信息。这个答案的其余部分不再相关。
Sysinternals 的Process Explorer可让您搜索句柄和 DLL。搜索目录并找出哪个进程正在“使用”该文件夹。
从那里,您可以关闭该进程,或者只是关闭该特定文件句柄。直接使用文件句柄时,请确定您在做什么,并确保它没有被某些重要进程使用。
当使用强制关闭文件句柄的工具(如前面提到的Unlocker)时,请记住这样做可能会导致严重的问题。(请参阅Raymond Chen 撰写的这篇文章。)确保您知道哪些应用程序正在使用该文件,并且它们都没有执行任何重要的操作。
首先尝试关闭应用程序而不是强制关闭句柄更安全。
此 REG 脚本将为您提供一个“查看句柄”右键单击上下文菜单项,该菜单项将调用Sysinternals 句柄实用程序以查看您右键单击的文件或文件夹的所有打开句柄。
将 Sysinternals 中的 handle.exe 放入可从您的路径访问的位置。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle]
@="View &Handles"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle\command]
@="cmd.exe /k handle -a -u \"%1\""
Run Code Online (Sandbox Code Playgroud)
我使用SysInternals(现为 Microsoft)的Handle 。您可以输入文件夹名称的一部分来查看哪个进程拥有该文件夹的句柄,然后终止该句柄。
handle64.exe -nobanner "<path>"
Run Code Online (Sandbox Code Playgroud)
例如:
就像其他人提到的那样,杀死句柄可能会导致严重的问题。
| 归档时间: |
|
| 查看次数: |
483186 次 |
| 最近记录: |