![如何删除名称中带有冒号的文件](https://linux22.com/image/1330011/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E5%90%8D%E7%A7%B0%E4%B8%AD%E5%B8%A6%E6%9C%89%E5%86%92%E5%8F%B7%E7%9A%84%E6%96%87%E4%BB%B6.png)
这个很奇怪:
我的电脑上有两个分区,一个用于 Linux(ubuntu 12.latest),一个用于 Windows 7。我使用 grub 选择要启动的系统。我在 Linux 中截取了屏幕截图并将其保存在 Windows 分区上,该分区使用 nautilus 安装在 Linux 中。
文件名是,或者曾经是,我无法判断它是否仍然存在于现实中:
Screenshot from 2012-08-19 11:01:53.png
并且它被(或曾经被)保存在 Windows 桌面文件夹(c:\Users\<name>\Desktop)中。
该文件从未工作过,因为 Windows 告诉我它已损坏,但这并不重要,因为我想删除现在就可以了,但我不能。
我尝试了dir /X
- 技巧,但没有为该文件生成短名称,我尝试了\\?\c:...
- 语法技巧,但它告诉我:
The filename, directory name, or volume label syntax is incorrect.
我最终尝试在 Linux 中删除它,第一次尝试时无法删除文件,第二次尝试时文件不再存在。
我尝试了一下chkdsk
,它告诉我:disk is clean
。
顺便说一句:我在桌面上从 Linux 保存了另一个文件,这次具有有效的名称,它出现在 Linux 中,但没有出现在 Windows 中。
这里发生了什么?
问候....
编辑::
我尝试了 FAR 但是:
每种文件操作(例如重命名,移动等)都会导致错误。
答案1
在多数情况下远程管理器可以删除文件,但不能删除 Windows 资源管理器、cmd.exe 或其他文件管理器。但我无法用您的示例来检查 - 无法创建具有此名称的文件 ;)
NTFS 中禁止使用某些符号(包括“:”)作为名称。因此,您遇到了问题。
但是,如果您需要直接从 Windows 中删除无效文件,您可以使用一些特殊工具(例如 WinHex)编辑 HDD 分区 - 找到文件名并将“:”更改为任何其他符号(“_”)。
再试一次 - 在某些情况下,通过短文件名删除可能会有效(如果此文件有短文件名)。您可能会在“dir /X”输出中看到短名称,或者在 Far Manager 中按 Ctrl+N 后看到短名称。