如何删除无法删除的文件和文件夹?


28

我有一个以前Windows Documents and Settings文件夹的备份副本,该文件夹仅包含我的原始用户,并且在另外2个目录内:FavoritesLocal Settings

当我尝试删除时,出现Local Settings此错误:

替代文字

当我尝试删除时Favorites,出现此错误:

替代文字

我在cmd shell中运行了它:

属性*。* -r -a -s -h / s

...但是它没有帮助,也没有返回任何错误/警告。

我曾经Unlocker v1.8.5LockHunter反复,多层次,看是否有文件正在使用,但两者总是说:没有文件锁定

更新#1:

我能够重命名目录,这现在在(尝试)删除之前向我发出此警告:

替代文字

如果我按(或对全部是),则会出现此错误:

替代文字

更新#2:

chkdsk /f运行需要重新启动的程序,因为它位于我的主系统分区上。在第2阶段扫描期间,我收到了大约40个:

从文件25的索引$ 0删除索引条目。

...其次是:

删除文件37576的索引$ I30中的索引条目cookie。

...但是尝试删除时,我仍然得到上面的第一个错误对话框。

这次,我再次运行chkdsk chkdsk /f /r。没有产生任何消息。删除时的结果相同。

更新#3:

深入研究,99是此处深处的许多目录之一的名称:

C:\ Documents and Settings.OLD \ User \ Local Settings \ Application Data \ Microsoft \ Messenger \ address@hotmail.com \ SharingMetadata \ user@hotmail.com \ DFSR \ Staging \ CS {D4E4AE55-B5E2-F03B-5189-6C4DA6E41788 } \

这些目录中的每个目录中都有名称如下的文件:

2300- {C93D01AC-0739-4FD9-88C7-13D2F21A208E} -v2300- {C93D01AC-0739-4FD9-88C7-13D2F21A208E} -v2300-Downloaded.frx

我注意到,与所有目录不同,我无法重命名任何这些文件。我还注意到文件名和目录名非常长:

原始目录= 194个字符
文件名= 100+个字符
总长度超过了255个字符的限制,这很糟糕,这将解释我在更新#1中发布的错误消息。

部分解决方案:

重命名所有目录,直到总路径长度小于100。之后,我能够重命名.frx文件,更不用说删除Local Settings目录中的所有内容了。

这只是部分解决方案,因为这些(空)目录仍然无法删除,

C:\ 1 \ 2 \ Favorites \ Wien \该怎么办..
C:\ 1 \ 2 \ Favorites \ Photography \ FIRE

与上述相同的错误:

替代文字

这是两个文件夹的资源管理器属性显示的内容:

替代文字

更新#4(另一个局部解决方案):

结合使用harrymc的答案和透彻阅读这篇惊人的MS-KB文章,其中包含几乎每个人的想法,然后包含一些不起眼的标题:您不能删除NTFS文件系统卷上的文件或文件夹

我能够删除第二个文件夹C:\1\2\Favorites\Photography\FIRE-问题是结尾处没有可见的尾随空格。当我按照del "\\?\<path>"他建议的命令进行自动完成时,我很幸运。

注意:del普通法无效,也没有从中删除explorer

现在剩下的就是第一个目录C:\1\2\Favorites\Wien\What To Do..(是的,我不停地尝试了上述解决方案的多种组合;)


@glenneroo尝试使用LockHunter而不是Unlocker来查看其内容。另外,当您在“确认文件删除”框中单击“是”或“对所有人都是”时会发生什么?
ubiquibacon,2011年

LockHunter还说没有进程锁定该文件或文件夹。
glenneroo 2011年

我遇到了类似的问题,因为某些Adobe文件通过备份的Windows安装隐藏在某些文件夹中。我尝试将所有文​​件夹重命名为“ x”以缩短路径,但是没有用。我以这种方式离开了他们,以提醒我他们什么都没有,让他们坐在那里几年,直到我最终DBAN将该光盘发送给他人之前。
Tofystedeth

1
由于您看到的文件属性很少(甚至没有日期),因此我认为这是指向不存在的文件的文件指针。我不知道如何解决这个问题,但是这可能会给一个认识的人一个主意……
敬畏

1
仅仅因为有些死文件甚至没有占用太多空间?该驱动器是〜2岁,我宁愿没有重新安装一次。至于SMART读数,Google在这里发布了一份报告,基本上说您不能对大多数读数施加太大的压力:labs.google.com/papers/disk_failures.pdf chkdsk / R并没有错。您能推荐Windows工具作为答案吗?
glenneroo 2011年

Answers:


29

del用于删除文件,rd aka rmdir用于删除文件夹,所以...

rd /s "\\?\C:\1\2\Favorites\Wien\What To Do.."

...应该做的工作!:-)

/s参数

除目录本身之外,还删除指定目录中的所有目录和文件。
用于删除目录树。


如果这不起作用;甚至没有通配符/自动完成;那么您就有腐败问题。


哦,看起来像是那里的人的答案:-)
James T

哇,太棒了,终于有人得到了!您将赢得双重奖励!:)
glenneroo 2011年

@glenneroo:已经投票给所有对此有所帮助的人作为回报。:-)
Tamara Wijsman

6

我会尝试按照Jeff的建议先运行chkdsk。如果这不起作用,则可以使用linux live cd启动,安装硬盘驱动器并从linux live环境中删除文件夹。


我非常犹豫是否要使用替代方法(对于封闭源NTFS)从NTFS分区中删除文件。根据我的经验,阅读支持通常可以正常工作,但写作可能会很危险。
glenneroo 2011年

1
现在,在现代linux发行版上,对NTFS的写支持非常好,尤其是考虑到WinXP并未完全实现NTFS规范。
乔纳森

1
同意,Linux具有出色的NTFS支持。
Jeff F.

不久之前(2010年夏天),我在重新安装XP之前使用ntfs-3g删除文件。之后在XP安装过程中,chkdsk发现了大量的损坏文件。在过去,我也只是通过读取来杀死ntfs驱动程序。当然,这两种情况都位于具有数十万个文件的极为分散的分区上。
glenneroo 2011年

6

您很可能有FS(文件系统)损坏。运行chkdsk,然后尝试删除文件。

还要确保警告中没有显示目录中没有使用任何东西。

我还建议您先备份重要文件。


我使用该工具Unlocker来验证没有打开任何这些文件的句柄。
glenneroo 2011年

我就是这么想的。您可能需要运行chkdsk / f
JeffF。

1
@Moab:不,使用chkdsk进行索引清理是正常的。这是它们存储方式的人工产物,只能在磁盘检查期间清理它们。我不记得我在哪里读的书。
afrazier 2011年

1
@glennroo-写入操作期间bsod也表明磁盘出现故障。看到您的磁盘在去年再见,我不会感到惊讶,但是明天看到它消失,也不会感到惊讶。
Joel Coehoorn

1
我看到你试过了chkdsk /F; try还chkdsk /R执行另外两个步骤,以尝试标记坏扇区并恢复数据。
AniDev 2011年

5

尝试删除时,我仍然收到上面的错误99对话框。

99不是错误号,而是您要删除的文件夹内文件或文件夹的名称。寻找这个项目。

找到它后,它只是在抱怨权限错误。这可能是因为用户配置文件文件夹中的某些内容被设置为仅对该用户具有权限,而没有其他用户,并且被设置为不继承其父级的权限,或者由于某些其他原因而丢失了该文件的所有权限。结果是您的计算机上没有用户帐户可以对文件或文件夹执行任何操作。

要解决此问题,请右键单击该文件(或其包含的文件夹以确保获得所有内容),Properties然后从上下文菜单中选择,然后在Security打开的对话框中选择选项卡。该屏幕将具有一个Advanced您应单击的按钮。Owner在打开的对话框中寻找选项卡。现在,您应该可以使用此窗口获取所有权,这将为该项目分配新的权限条目,并最终允许您将其删除。


关于文件名的要点!设置权限无济于事,但我偶然发现了一半的答案!
glenneroo 2011年

5

在Microsoft的支持网站上阅读以下内容:

1)用于dir /x获取列出的文件/文件夹的短名称(8.3表示法)2)用于rmdir /s shortname删除其长名称非标准的文件夹


好主意!不幸的是,我无法删除的所有文件夹都没有短名称,即当我键入时它是空的dir /x:(
glenneroo 2011年

3

您可能可以\\?\在cmd中使用Unicode 语法删除太长的目录,因为此语法的路径长度“限制”为32,767个字符:

del /s /f /q "\\?\C:\Documents and Settings.OLD\User\Local Settings\Application Data\Microsoft\Messenger\address@hotmail.com\SharingMetadata\user@hotmail.com\DFSR\Staging\CS{D4E4AE55-B5E2-F03B-5189-6C4DA6E41788}\"
rmdir "\\?\C:\Documents and Settings.OLD\User\Local Settings\Application Data\Microsoft\Messenger\address@hotmail.com\SharingMetadata\user@hotmail.com\DFSR\Staging\CS{D4E4AE55-B5E2-F03B-5189-6C4DA6E41788}\"

一旦获得\,可以按Tab键在目录名称中循环浏览,这样Windows便可以开始自动完成该文件夹下存在的目录。

请参阅Microsoft的命名文件,路径和命名空间


这将起作用,但是我相信del命令有MAX_PATH限制:(
Billy ONeal

好招!我通过将目录重命名为1-2个字符来绕过长文件名。我在其余两个目录上都尝试了这些命令:Could not find file.随后是The system cannot find the file specified.
glenneroo,2011年

更新了我的答案。使用此版本的deli ,我可以删除剩下的两个违规者之一(有尾随空格)。赏金属于您,但情节变厚了!
glenneroo 2011年

在极度麻烦的情况下,您可以删除而不是包含目录(在移出您希望保留的内容之后)。
harrymc

非常高兴,我的目录名损坏了3年,终于找到了!使用上面的rmdir命令可以使我摆脱损坏的目录。
hazymat 2014年

2

我个人同意byachna和CarlF的话,最好的方法是linux live cd。Linux并不关心权限,因此您可以毫无抱怨地进入并删除内容。我从Linux编写NTFS从未遇到过任何问题。我已经定期进行了几年。

我知道您不想惹上Linux,所以我建议别的东西。Ashimema已经提出了一些建议...但是忘记了一些链接。您可以尝试使用许多Windows Live CD中的一种来代替Linux Live CD。

http://www.ubcd4win.com/ (需要XP安装CD才能创建)

http://www.reatogo.de/REATOGO.htm (需要XP安装CD才能创建)

http://www.nu2.nu/pebuilder/ (需要XP安装CD才能创建)

http://www.vistape.net/index.php (需要Vista安装DVD才能创建)

尝试在您决定使用的任何活动CD中启动,并删除引起所有问题的文件夹。由于它是Windows,它将强制执行文件权限。您可能必须更改文件的权限或所有权才能删除它们。甚至可以尝试从实时Windows cd中尝试“ \?\”技巧。

可以尝试的另一件事是caclsicacls命令,以查看是否可以给自己授予文件夹权限。


请给他们一次尝试并报告(当我有几个小时时)。
glenneroo 2011年

0

使用Ubuntu liveCD,使用支持NTFS的Linux发行版引导系统。

挂载Windows文件系统。

删除您想要的所有内容,因为Windows无法说“否”。

在执行此操作之前,请进行完整备份。


1
谢谢,但是byachna已经建议了这一点。我犹豫尝试一下,因为过去我曾遇到过文件系统损坏的问题。同样,这种情况下正在处理损坏的文件,即使用不受支持的NTFS驱动程序可能会完全破坏我的系统。
glenneroo 2011年

根据我的有限经验,Linux中当前的NTFS驱动程序实际上比Windows损坏文件系统的可能性要
Carf 2011年

3
我真的很想看到支持该声明的数据。除了硬件故障外,我从来没有Windows破坏过FS。
Billy ONeal

我写这本书的原因是“以我有限的经验”。我遇到了一些问题,例如glenneroo使用Windows(XP和Vista),而NTFS-3G没有。我认为免责声明会明确这一点。
Carf 2011年

0

正如我过去发现的那样,有许多复杂而困难的方法可以解决此问题。

现在,我对自己的工作充满信心,只要运行chkdsk,然后启动现场CD即可删除文件(如果仍然存在问题)(如果您担心linux使用ntfs的功能,请尝试一下)任一的BartPE或[视窗PE] [2],既可以免费获得)

如果您走了很长一段路,所有其他建议当然会帮助您减少实际错误。


为James所添加的链接(在这里太新了)加油!
Ashimema 2011年

0

晚了,但是这种方法在大多数情况下都有效,即使不是从Linux发行版引导并从那里删除。

打开提升的命令提示符窗口,并保持打开状态。

关闭所有打开的程序。

单击“开始”,“运行”,然后输入TASKMGR.EXE。转到“进程”选项卡,然后在“ Explorer.exe”上结束进程。使任务管理器保持打开状态。

返回到“命令提示符”窗口,然后更改为AVI(或其他不可删除文件)所在的目录。在命令提示符下,键入DEL <要删除的文件的完整路径>,或所需的任何命令。

返回任务管理器,依次单击“文件”,“新任务”,然后输入EXPLORER.EXE以重新启动GUI Shell。关闭任务管理器。


-1

Joel的回答是正确的一半,您需要先激活安全性选项卡,进入控制面板>文件夹选项,然后在列表末尾的第二个选项卡(我忘记了它的名字)中带有选项的选项中有一些有关高级文件夹管理的信息(同样,我不知道英文名称是什么)一旦完成,便可以如前所述在安全性选项卡中为用户设置权限。


我已经启用了这些选项,而且我已经尝试了他的建议,但是没有帮助。阅读最新的更新#3部分解决方案。我无法删除的文件夹甚至没有任何属性,更不用说安全选项了。
glenneroo 2011年

确保向用户“所有人”添加完全访问权限和选项,并且包括用户验证程序,您就可以执行此操作。
Guillermo Siliceo Trueba 2011年
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.