如何删除“不存在”的文件夹

如何删除“不存在”的文件夹

我下载并解压了一张音乐专辑到我的 D: 盘。然后我使用 Explorer 删除了它,它似乎成功了。

但是,该文件夹仍然存在,因此我一直尝试删除它,但没有成功。文件夹名称为“Zac Brown Band - Greatest Hits So Far...”,并且看起来是空的。

如果我尝试删除它,它会报告“找不到此项目”

我无法重命名它,我收到了相同的报告。

如果我尝试打开它,它会报告不可用。

我以管理员身份打开了 CMD,并且该文件夹显示为目录,但我无法打开它,并且 CMD 报告“系统找不到指定的路径。”(我使用了 CD“Zac Brown Band - Greatest Hits So Far...”)

我甚至清空了下载文件夹的其余部分并尝试了 ERASE*,但没有成功。

如果我尝试 rmdir,它会告诉我该文件夹不是空的,但我无法进入该文件夹查看。

我尝试了 DIR /x,但名称相同。

我尝试了一些“解锁”程序,但它们都得出相同的结论,该文件夹不存在。

但它显示在资源管理器和命令行上。

请提供建议。

答案1

当以“标准”方式(通过 Win32)访问路径时,由于历史原因,Windows 总是会从路径中删除尾随的句点。因此,每当您要求打开时,foo...操作系统实际上都会尝试打开foo,而这实际上并不存在。

您可以通过指定带前缀的“NT 路径”来绕过该问题\\?\,这很可能是归档程序首先创建目录的方式:

rmdir "\\?\D:\Downloads\Zac Brown Band - Greatest Hits So Far..."

(许多文件管理器和归档器使用此方法,因为它可以绕过 256 个字符的长度限制,并且他们并不总是小心避免创建“坏”文件名。)

如果您明确指定要删除的数据流,也不会发生这种情况:(这在 Cmd 中有效,但在 PowerShell 中无效)

rmdir "Greatest Hits So Far...::$INDEX_ALLOCATION"

(语法是file_name:stream_name[:stream_type]。所有文件都将其主要数据保存在类型为 $DATA 的无名流中,目录有多个流,但最重要的是类型为 $INDEX_ALLOCATION 的流。)

答案2

文件系统似乎出现了一些损坏。以管理员身份打开命令提示符,然后输入chkdsk D: /F。这将尝试修复文件系统中的问题。

如果无法删除幽灵文件夹,请尝试创建一个与幽灵文件夹名称和位置完全相同的新文件夹,然后将其删除。

编辑:我做了一些测试,发现 Windows 内置工具无法处理以句点 ( .) 结尾的名称。您可以通过打开7-Zip 文件管理器,浏览到文件夹所在的位置,选择它,然后按Shift+ Delete。这样应该会删除卡住的文件夹。

相关内容