在 Windows 7 中重命名/删除不可能的文件名

在 Windows 7 中重命名/删除不可能的文件名

我有一些带有“不可能的文件名”的文件。我不是在谈论特殊字符或任何东西,而是真正不可能的文件名。(文件系统 NTFS)

一个文件叫做images\receipt.jpg(是的,这是只是文件名,而不是路径+文件名)

另一个叫做..\..\data\

另一个被称为"\n"(一个换行符,已转义,因此您可以在此处看到它)

它们是 Ubuntu 创建的,当时我用 Windows 思维保存/移动文件(我不知道第三个是如何创建的)。我不再有任何 Linux 或 Live CD。

我已经尝试了以前提出的问题中的所有建议,但也许自两年前以来,有些新的建议是可行的。

CHKDSK /F /X不起作用

使用 8.3 文件名不起作用(这些文件没有 8.3 文件名)

REN不起作用

RD /S不起作用

7-Zip不起作用

我甚至无法对磁盘进行碎片整理,因为碎片整理程序在分析过程中遇到这些文件时就会触发。

我尝试编写自己的重命名函数,但是没有低级系统调用(我想到了 kernel32 defrag api,但尝试一下太危险了),它一直按“\”字符排序路径元素,因此它无法在文件夹 ~~/“images/”等中找到“receipt.jpg”。

是否有任何程序可用于重命名/删除它们?也许像 PCTools(20yo DOS 程序)这样的程序可以像十六进制编辑器一样“编辑”扇区?

答案1

默认情况下,NTFS 文件系统下的每个文件和目录都有两个可以访问的名称:长文件名和短文件名。短文件名遵循8.3 命名约定您可以使用命令提示符来删除这些文件。例如:

C:\>del C:\example\IMAGES~1.JPG

dir /X您可以通过发出此命令(大写的 X)来了解文件的简称。

由于短文件名是 NTFS 的可选功能,因此这些文件可能没有短文件名。在这种情况下,您可以使用文件路径的扩展长度路径形式来实现这一点。您可以通过在文件\\?\的完整路径前面加上引号来实现这一点:

C:\>del "\\?\C:\Example\images\receipt.jpg"

如果其他方法都失败了,请下载另一个 Linux Live CD 并从那里删除它们。较小的发行版如果 Ubuntu 下载太大则可用。

答案2

尝试自由指挥官. (通过此论坛主题:(已解决)- ALT+255 后帮助重命名

此外用于输入无效文件名字符的 ALT 键技巧可能会起作用:

  • 按住Alt并输入字符的 ASCII 码数字即可输入该字符。
  • 例如,按住Alt数字键盘上的 092 并输入即可插入\;输入 013 即可插入\n
  • 您可能需要使用四位数字,如 0092 和 0013...

就我个人而言,我只想快速制作一个 LiveLinux usb 并从那里修复它。有什么原因不能使用 Linux 吗?

答案3

一个简单的技巧可以修复以空格字符开头的文件。
(我无法在您的错误命名的文件上测试它。)
您还没有尝试过这些吗:

ren images?receipt.jpg images-receipt.jpg
    or, shorter:      ren i*.jpg images-receipt.jpg
ren ??????data? data
ren ? lf

如果这些都失败了,您可以使用 HxD 来编辑分区本身。找到目录并输入文件名。在驱动器中搜索“”和“..”,并在安全的地方进行替换。(用零填充驱动器上的空闲空间可能会更容易。)

显然程序可以创建具有非法名称的文件。也许程序可以重命名这些文件。

相关内容