由于已使用空文件夹,因此无法删除


48

我尝试删除一个空文件夹,但无法执行此操作,因为Windows对话框显示当前已使用它。

如何使用空文件夹?如何解决此问题,而不必重新启动计算机或注销?


6
您将需要重新启动系统以删除该文件夹。您将必须确定哪个进程阻止删除文件夹。
Ramhound18年

29
始终值得快速检查一下,看看是否有运行该文件夹作为其当前目录的shell(Cmd,Bash等)。这是将空文件夹标记为正在使用的常见原因。
AFH

15
<rant>唯一真正的解决方案是重新启动。理想情况下,像几年前一样,进入Linux。这可以永久解决问题。</ rant>
maaartinus

3
IObit Unlocker:“从不担心您的PC上的'无法删除文件'” ...或类似的东西。这个答案听起来太像工作了。
Mazura

4
很高兴知道8年后
txtechhelp

Answers:


78

您将需要使用Microsoft的Process Explorer(仅一个exe):https : //docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

它会让您知道哪个应用程序正在处理该文件夹,并且您也可以杀死该句柄。

查找->查找句柄->搜索文件夹的名称(需要一段时间..)

视觉教程: 在此处输入图片说明


4
或使用handle.exe实用程序(也在sysinternals站点上)获得命令行解决方案。
ErikE

10
这绝对有效。唯一的缺点是:您发现在计算机上运行的软件(作为服务)似乎没有充分的理由来握住这些句柄,并且让您感到沮丧的是,相对无用的东西是如此具有侵略性和编写能力很差……(尽管一旦您想到关于它,这是有道理的……)
davidbak

3
另外,在进行所有操作之前,您可能需要尝试重新启动并重试。如果仍处于锁定状态,则在启动或登录时启动的某些内容会在启动时进行抓取。
jpmc26

17
请注意,在某些情况下强制关闭句柄可能会导致数据损坏。资源管理器应该可以很好地处理它,但是许多程序可能不行
Justin Krejcha

4
我建议您杀死拥有该手柄的进程,而不是关闭该手柄。.您应该三思而后行……
Alec Istomin

13

我找到了另一种方式。您也可以通过重新启动解决它explorer.exe

但是,如果它被explorer.exe以外的其他进程锁定,则此方法不起作用。


6
大多数时候,这个简单的技巧对我有用。
NVZ

34
否。只有在资源管理器锁定了文件夹的情况下,它才能解决问题。
Salman A

6
而且您的外壳可能甚至都不是explorer.exe
Lightness与Monica赛跑

12

Sysinternals套件已经被提及,但是ProcessExplorer实际上是错误的工具。movefile是你想要的。杀死打开目录的进程可能会起作用,但这不是一个好方法(或安全方法)。

有了,movefile您就可以... 在下次重新启动时移动文件(目录就是文件!)。将文件移到无目的地,即""计划下次重新启动时删除文件。请注意,它需要从提升的提示符下运行(否则,您将收到错误5尝试安排启动时删除操作)。


10

您可以按照以下步骤查找哪个程序正在锁定文件夹:

  1. 在命令提示符下运行以下命令wmic process > processes.txt。这将创建一个输出文件,processes.txt其中包含所有正在运行的进程的详细信息。
  2. processes.txt在文本编辑器中打开文件。
  3. 搜索锁定的文件夹名称。您将获得名称和PID或进程访问文件夹。
  4. 使用TaskManager或使用命令终止进程TaskKill /PID <pid>。哪里<pid>是PID发现在步骤#3。

我希望这个工作。没有。CD C:\-md temp-cd temp-md utemp-cd utemp-记事本-cd ..-rd utemp(由于记事本而失败)-wmic process> processes.txt-结果process.txt不包含“ utemp “,
TOOGAM

@TOOGAM感谢您指出这一点。我很惊讶看到记事本确实发生了这种情况。还测试了Notepad ++,并且能够删除文件夹而没有任何问题。+1接受答案。
Sandeep,

5

如果已知进程ID,则可以强制终止负责“锁定”文件夹的进程,任何出色的进程杀手都可以这样做,而不必重新启动系统。

或者,使用GUI时,您可以使用Iobit解锁器来解锁文件夹,从而随后删除文件夹。然后,在iobit界面上拖动目标文件夹,然后在滚动条上选择“ 解锁并删除”

截图示例


1
免责声明!!该软件没有隶属关系,但恰好是基于GUI的简单实现方式
xavier_fakerat

3
使用此软件可能会导致锁定文件/文件夹的进程崩溃或变得不稳定。我建议使用datester的答案
Cfinley

1
Windows可能会将句柄重用于另一个文件,这可能会导致真正令人讨厌的事情:锁定该文件的应用程序现在将在不知不觉中工作于另一个文件,这可能会造成灾难性的后果。
gronostaj

1
对于那些坚持认为这种方法不好的人来说还算公平,但是相信我,它仍然可以为我完成工作,甚至不费吹灰之力。此外,还有太多方法可以“杀死这只猫”
xavier_fakerat

1
@xavier_fakerat您可能不了解gronostaj排队的问题,或者您对文件的态度非常武断。
Voo

2

我以前也遇到过这个问题,我通过转到Git Bash并使用来解决了rm -rf my-directory

我不知道为什么它起作用,也许Git bash比Windows命令更合适。

如果您不了解Git,则可以通过在Google上键入“ Git”进行下载,进行安装,然后右键单击资源管理器(目录位于其中),然后单击“此处的Git bash”。


我正在使用git bash,可能这实际上是原因。
黑色

1

我实际上实际上在过去已经注意到,即使隐藏了文件,所有的风吹口哨都表示要显示所有文件,某些程序仍然会有一些文件,如果与它们一起保存,则在资源管理器中是完全不可见的。这里可能就是这种情况。我要做的是进入使用此文件夹的程序,然后打开文件(如果适用),然后在该视图中查看文件中的实际内容。可能有很多垃圾窗口似乎是在向您隐藏。



0

几年前,当我使用网站的自动转换/下载将页面的html更改为txt文件下载时,我就遇到了这个问题。Windows处理文件命名的方式使其成为标题,从而使标题中的引号将文件类型更改为引号之后的文件类型,并使其无法删除。我发现的解决方案也被描述为能够删除文件夹,因此它也可以为您提供帮助。

首先,以管理员权限打开命令提示符。假设我要删除的文件夹位于C:\ Users \ XXXXXX \ Downloads中

确保在我制作的任何地方都包含空格,否则它将不起作用

输入命令:

cd /d C:\Users\XXXXXX\Downloads

下一个类型:

dir /x

这将显示“下载”中所有项目的列表,并创建日期/时间,其后是(<DIR>)(如果是文件夹)/ a(0)(如果是文件),缩写格式的名称,然后是全名。

找到要删除的文件夹的缩写名称,然后完全按照列表​​中所示的名称键入-大写字母,数字,波浪号,等等(0如果没有文件,则不带标签)-减去示例中包含的括号:

rmdir /q /s [SHORTNAMEHERE]

就是这样!如果要删除文件,只需更改rmdirerase,就可以了!只需确保要删除的文件夹实际上是空的,并且首先没有重要的内容即可。

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.