如何删除正在使用的文件夹?


134

有时,当我在Windows中工作时,尝试删除目录时会收到以下提示:

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.

但是,该文件夹根本不处于“使用中”,并且我没有打开它。那么,如何在重启后将其删除?


2
我发现在使用Outlook和.msg文件时,这种情况最常发生,在这种情况下,关闭Outlook会停止“正在使用的文件夹”错误。另请参见有关此Microsoft社区问题的讨论
航空

Answers:


82

这个答案很旧,但似乎仍然有流量。如下所述,Windows现在有一个内置工具:

开始→所有程序→附件→系统工具→资源监视器(或运行resmon.exe)

您可以在下面的答案中获得更多信息。此答案的其余部分不再相关。


Sysinternals的Process Explorer将使您可以搜索句柄和DLL。搜索目录并找出哪个进程正在“使用”文件夹。

从那里,您可以关闭该进程,或仅关闭该特定文件句柄。确保直接使用文件句柄时正在做什么,并确保某些重要过程没有使用它。


4
但是,如何找到进程使用的目录?
Johnny_D 2013年

2
使用Ctrl-F并在您要删除的文件夹上方输入文件夹的名称。
MikeMurko 2014年

4
现在有Windows的本机GUI,请参见下面的答案。
bcorso 2014年

3
*本机GUI /内置于/ Windows(资源监视器),请参见下文。
Jamie Pate 2014年

就我而言,Process Explorer无法找到该句柄,但是Resource Monitor(请参阅其他答案)可以。
Bart Verkoeijen

181

Windows有一个本机GUI:

开始>>所有程序>>附件>>系统工具>>资源监视器(或运行 resmon.exe

您可以使用搜索框(红色圆圈)搜索“关联的句柄”,然后右键单击要结束的过程。


例如,在下图中,我无法删除我的Eclipse目录。搜索Eclipse关联的句柄表明adb.exe具有目录的句柄。在结束adb进程之后,然后可以删除Eclipse目录。

在此处输入图片说明


5
这个把戏突出了让我感到悲伤的过程:)
Pure.Krome 2014年

2
资源监视器需要管理员凭据。
航空

我的桌面上有一个锁定的文件夹,该文件夹未列出正在使用的资源监视器。那好吧。
sirdank 2015年

上锁了吗 这是为了解决问题中的特定错误,即“文件夹已在另一个程序中打开”。这是你的情况吗?
bcorso 2015年

1
为我解决了问题。
RubenGeert

8

Unlocker和WhoLockMe在64位Windows上不起作用。我使用LockHunter


2
Unlocker用于64位系统。
13年

lockhunter为我找到了ProcExp和ResMon都找不到的锁定过程。
聪明的人

7

使用强制关闭文件句柄的工具时(例如前面提到的Unlocker),请记住,这样做可能会导致严重的问题。(请参阅Raymond Chen的本文。)请确保您知道哪些应用程序正在使用该文件,并且它们都没有做任何重要的事情。

尝试先关闭应用程序而不是仅仅强制关闭句柄是更安全的。


方式不错的文章。重要阅读。
起搏器

6

此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\""

为什么不只使用UI版本的ProcessExplorer?
起搏器

5

我曾经发生过这种情况。有时我可以通过先删除内容,然后删除文件夹(空)来解决此问题。


是的-对我有用!
TigerTiger 2013年

@ Wbdvlpr,@ kpoehls,为什么会这样?我认为这只是一个神话,您碰巧很幸运。
起搏器

3

的最快最简单的方法是使用手柄,如通过slolife所提到的,而不是使用处理资源管理器。他们都是来自Microsoft的Mark Russinovich。

像我今天所做的那样,发现explorer.exe是元凶,不要感到惊讶。显然,有一种重新启动explorer.exe 的官方方法,但是我似乎无法消除它,并在任务管理器中重新启动它。


2

当我使用XP时,我使用WhoLockMe找出哪些程序打开并锁定了文件。我能找到的最新版本没有提到Vista,但是值得一试。

有时,您可以从内到外手动将其删除。只需在层次结构中一直向下导航,删除所有文件,向上移动目录并重复即可。不知道Windows为什么不能自己做到这一点,但有时它对我有用。


2

如果“未使用”是指没有打开的句柄,则请确保未禁用Application Experience服务。如果是这样,请将其设置为手动:

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2

我使用SysInternals(现在为Microsoft)中的Handle。您可以键入部分文件夹名称,以查看哪个进程在该文件夹上具有一个句柄,然后取消该句柄。

handle64.exe -nobanner "<path>"

例如:

命令行的命令输出

就像其他人提到的那样,杀死手柄可能会导致严重的问题。


1

我遇到了与闪存相同的问题(16 GB-可能不相关),它不允许我删除文件夹。我尝试了在Internet上找到的每个-freaking-解决方案(隐藏缩略图,从cmd提示符下删除文件夹,并关闭explorer.exe,一切正常..),但没有任何效果。是什么使它起作用?好吧,这:

  1. 选择文件夹内的所有文件
  2. 右键单击它们,然后选择“剪切”
  3. 返回到根文件夹
  4. 贴上
  5. 删除它们

这对我来说很好。希望我能帮上忙。:-)


1

为了删除说您无法删除的文件夹/程序,因为它在其他地方打开。

  • 点击开始按钮
  • 类型Taskmgr
  • 在打开的新窗口中的“进程”选项卡下,查找您要删除的文件夹/程序。
  • 右键单击它并结束任务
  • 返回文件夹/程序位置,您现在应该可以将其删除

0

尝试Ctrl+ Shift+ Esc>“程序”,然后右键单击要停用的程序,然后选择“停用”。然后再次删除!

(我的操作系统是瑞典语,所以翻译可能不完全相同!但是您明白了!)


0

通常,被锁定的句柄是Internet Explorer,我要么在任务管理器中将其关闭,然后删除文件或文件夹,要么关闭资源管理器...通常,文件夹中的txt文件处于打开状态,而该文件将成为句柄。让您删除文件夹/文件...只要关闭txt文件,然后您就可以了,您现在可以删除您的文件夹了。


IE为什么会锁定本地文件,为什么.txt
gronostaj

0

WinSCP正在使用文件docs.zip。

  1. 我使用相同的名称docs.zip创建了一个新文件
  2. 粘贴到现有的docs.zip上,旧文件被替换为新的同名文件。
  3. 然后,我一起删除了新复制的文件docs.zip。

祝好运


0

因此,已经有了一些好的答案,但是我将做出一些新的贡献,这就是我今天早些时候用来解决同一问题的东西。

我使用Python。我知道,它不是Windows的本机,但对于系统管理员,开发人员和超级用户来说,它是一个非常常见的实用程序,您可以使用一个简单的oneliner将其删除:

from shutil import rmtree; rmtree('C:\path\to\folder')

宾果


-1
  1. 查找您要删除的文件。

  2. 重命名为您喜欢的任何名称。

  3. 删除它。


2
此答案将不起作用。如果使用文件或目录,则无法重命名。
DavidPostill

-2

一直进入该文件夹,直至找到一个或多个正在执行的文件。当您尝试删除此文件时,它将为您提供正在运行的进程。写下来,然后转到任务管理器并结束该过程..之后,您可以删除该文件夹。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.