http://www.atoi.cn/blog/archives/69-oeAEyAEiOEaoe.html
我使用Windows XP,我的电脑里有一个文件夹经过多种方法的尝试都无法删除,在资源管理器里面删除的时候会有“无法读源文件或文件夹”的错误提示,而在控制台下面用rd(rmdir)命令删除时则又提示“系统找不到指定的文件”,我甚至试过用unixutil的unlink和rm也搞不定它。当然我也尝试过检查文件系统是否存在问题,但是仍然没发现问题所在。这个文件夹的存在简直成了完美主义的我的心腹之患,一直欲除之而后快。
今天,我突然想到既然在控制台方式下删除的时候系统提示无法找到文件,那么我在同一位置再建一个同名文件夹会怎么样呢?遂进入该文件夹所在的文件夹,然后建立了一个同名文件夹,竟然成功了。但是也就在我建立了另一个文件夹的同时,我发现了问题所在。两个同名文件夹的长度肯定也相同,但是我在资源管理器里面以列表形式显示它们的时候,原来无法删除的文件夹的名称被截断了(结尾处显示“...”)而另一个则没有被截断,经过仔细查看,我发现原来无法删除的文件夹结尾处有一个空格。由此基本可以断定,这个文件夹无法删除的原因是由于windows在删除文件夹的某一个步骤把结尾的空格给去掉了,导致在后续的步骤里面系统无法找到那个名称已经变过的文件夹了。这与Windows给出的错误信息也吻合。
找到了问题症结,解决起来就简单了。既然用正常步骤不行,我们可以绕过它,方法就是使用“8.3”格式的短名称来执行操作。取得短名称的办法是在控制台窗口下使用“dir /x”命令,输出内容的倒数第二列就是短名称。有了短名称后再用“rd [文件夹短名称]”命令就可以顺利删除文件夹了。
2005-09-26:既然有人提出看不懂如何操作,我就补充一下详细的操作步骤。
假设删不掉的文件夹在"d:\闹鬼"下面,let's begin
- 点“开始”菜单,点“运行”,这样会打开"运行"对话框。
- 在“运行”对话框中输入cmd,然后点击确定,确定后会打开一个黑黑的窗口,这个就是“控制台”窗口了。
- 在“控制台”窗口中输入"cd d:\闹鬼"来切换当前位置到"d:\闹鬼"下面。如果你的删不掉的文件夹在"c:\闹鬼"下面那么你就需要输入"cd c:\闹鬼"了,依此类推。注意"cd"后面有一个空格。输入完以后就敲回车键。如果命令执行成功则闪烁的光标前面就会出现"d:\闹鬼"字样。
- 再在控制台中输入"dir /x"命令,注意空格。输入完以后就敲回车来运行命令。运行完了窗口中会出现一些信息,分为整齐的好几列(知道什么是列,什么是行吧?),倒数第二列就是“8.3”格式的短名称。短名称通常以"~1"结尾,但也不一定。
- 现在你需要找出你需要删除的文件或者文件夹在哪一行,然后看那行的倒数第二列,把它记下来,然后继续在控制台输入命令,如果是删除文件夹,就输入"rd 刚才记下来的信息",如果是删除文件,就输入"del 刚才记下来的信息",然后回车。注意,命令中的“刚才输入的信息”要替换为你记下来的短名称。
- 如果你的操作没有问题的话那现在文件/文件夹应该被删除了。
2009-02-02: 更简单的删除办法
本人经3年半潜心研究,终获突破性进展,创造性的发明了删除这种文件夹的高级方法,极大的提高了劳动效率……
在控制台下,cd到该文件夹所在位置,然后执行命令(下面的“[空格]”均指一个空格字符,这样写为了让你看得清楚):
rd "[不含空格的文件夹名称][空格][空格]\"
如,你删不掉的文件夹是“d:\AV\闹心[空格]",那就依次执行以下命令:
d:
cd AV
rd "闹心[空格][空格]\"
如果你看了以上所述觉得不知所云,请看看下面2005年写的方法中的步骤1~3