删除 Windows 中包含无效字符的文件

gro*_*rom 20 windows

我有一些文件名中包含冒号的文件(例如 1d67c0d23e859ed4a259749e4a720d9e:default-sink)。当我尝试使用以下命令从命令行中删除它们时:

c:\backup> del /F *.*
Run Code Online (Sandbox Code Playgroud)

我收到“系统找不到指定的文件”。对于每个文件。如果我指定一个单独的文件:

c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink"
Run Code Online (Sandbox Code Playgroud)

我收到“文件名、目录名或卷标语法不正确。”。如果我尝试在父文件夹上使用 rd 我得到

如何删除这些文件?

Aus*_*th1 23

有一篇 Microsoft KB 文章列出了删除此类文件的可能方法:

http://support.microsoft.com/kb/320081

我通常使用的方式是原生 API 方法:

del "\\?\c:\path\1d67c0d23e859ed4a259749e4a720d9e:default-sink"
Run Code Online (Sandbox Code Playgroud)

根据:

http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

:是NTFS保留字符,我上面提到的原生API的方法是删除这些文件的推荐方式。

  • 这对冒号不起作用,因为它被解释为命名数据流。 (5认同)

Mar*_*son 17

我猜你可以试试 8.3 的名字?

del /F 1d67c0~1
Run Code Online (Sandbox Code Playgroud)

请注意,在 NTFS 驱动器上,您可以明确禁用 8.3 功能,因此如果是这种情况,您就无法使用此选项。获取文件名 dir adir /x

曾经有一个免费软件工具被称为delinvfile但他们已经将其更改为共享软件/付费


Joh*_*hnB 13

这对我有用:

  1. chkdsk /f
  2. 重启电脑
  3. 然后我就可以选择和删除文件


Den*_*asi 5

7zip可以删除Windows无法删除的文件;我过去在处理过长的文件名时使用过它,但我从未在带有冒号的文件上尝试过它。它们通常用于表示 ADS。


小智 5

关闭保存在包含此类文件的驱动器中的所有文件(如果有)。现在,打开驱动器属性。

“我的电脑”->“右键单击此驱动器”>属性

然后,进入“工具”选项卡,然后点击“立即检查”下的“错误检查”的标签。

在此处输入图片说明点击显示大图

这将卸载您的驱动器并扫描整个驱动器是否有错误,最终它将删除具有非法名称的此类文件。完成后,它会显示一条消息,说明某些文件已修复。

我成功地从我的外部硬盘中删除了这些文件。


wom*_*ble 0

您是否尝试过引用文件名?给出您正在运行的确切命令会很方便。