如何删除名称中带有冒号的文件

如何删除名称中带有冒号的文件

这个很奇怪:

我的电脑上有两个分区,一个用于 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 但是:

使用 FAR 删除文件时出错

每种文件操作(例如重命名,移动等)都会导致错误。

答案1

在多数情况下远程管理器可以删除文件,但不能删除 Windows 资源管理器、cmd.exe 或其他文件管理器。但我无法用您的示例来检查 - 无法创建具有此名称的文件 ;)

NTFS 中禁止使用某些符号(包括“:”)作为名称。因此,您遇到了问题。

但是,如果您需要直接从 Windows 中删除无效文件,您可以使用一些特殊工具(例如 WinHex)编辑 HDD 分区 - 找到文件名并将“:”更改为任何其他符号(“_”)。

再试一次 - 在某些情况下,通过短文件名删除可能会有效(如果此文件有短文件名)。您可能会在“dir /X”输出中看到短名称,或者在 Far Manager 中按 Ctrl+N 后看到短名称。

答案2

我怀疑你必须以创建该文件的方式删除它:从 Linux 系统中。问题是:用于访问备用数据流,但在这种情况下,冒号后面的部分不是替代流。我重现了您的场景,可以确认您的观察结果。该文件没有 8.3 名称,通过删除它\\.\C:\...不起作用。尝试删除包含文件夹或使用 Microsoft 的UNIX 服务。你可以尝试赛格威,但我怀疑这与 SFU 不会有太大区别。

底线:最好的选择是启动 Linux 并从那里删除该文件。

相关内容