我有一些文件名中包含冒号的文件(例如 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的方法是删除这些文件的推荐方式。
Mar*_*son 17
我猜你可以试试 8.3 的名字?
del /F 1d67c0~1
Run Code Online (Sandbox Code Playgroud)
请注意,在 NTFS 驱动器上,您可以明确禁用 8.3 功能,因此如果是这种情况,您就无法使用此选项。获取文件名 dir adir /x
曾经有一个免费软件工具被称为delinvfile但他们已经将其更改为共享软件/付费