我有一些文件名中包含冒号的文件(例如 1d67c0d23e859ed4a259749e4a720d9e:default-sink)。当我尝试使用以下命令从命令行删除它们时:
c:\backup> del /F *.*
对于每个文件,我都会收到“系统找不到指定的文件。”。如果我指定单个文件:
c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink"
我收到“文件名、目录名或卷标语法不正确。”。如果我尝试在父文件夹上使用 rd,我会收到
我怎样才能删除这些文件?
答案1
有一篇 Microsoft KB 文章列出了删除此类文件的可能方法:
http://support.microsoft.com/kb/320081
我通常使用的方式是原生API方法:
del "\\?\c:\path\1d67c0d23e859ed4a259749e4a720d9e:default-sink"
根据:
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
是:
NTFS 上的保留字符,上面我提到的本机 API 方法是删除此类文件的推荐方法。
答案2
我想您可以尝试一下 8.3 这个名字?
del /F 1d67c0~1
请注意,在 NTFS 驱动器上,您可以明确禁用 8.3 功能,因此如果是这种情况,您就没有这个选项了。要获取文件名 dir adir /x
以前有一款免费软件工具,delinvfile
但他们已经将其改为共享软件/付费
答案3
这对我有用:
- 冉
chkdsk /f
- 重新启动电脑
- 然后我就可以选择并删除该文件
答案4
7zip可以删除 Windows 无法删除的文件;我过去在处理过长的文件名时使用过它,但我从未尝试过在带有冒号的文件上使用它。它们通常用于表示 ADS。