无法使用波浪符号重命名文件

无法使用波浪符号重命名文件

我有一个 ZIP 文件,其中只有两个文件。它们分别名为AUSWRTX1APE1.TXT(1)AUSWRT~1.TXT(2)

我的问题是,我无法将两个文件提取到同一个(新的和空的)文件夹中。Windows 抱怨文件名已经存在

您可以重现此行为:创建一个新的文本文件并将其命名为AUSWRTX1APE1.TXT。然后,在同一位置创建第二个文本文件并尝试将其命名为AUSWRT~1.TXT。Windows 不会这样做。

波浪符号和旧的 Windows 8.3 短名称是我的问题吗?

如果有人有更精确的标题,请随意重命名我的问题

答案1

是的,旧的 DOS 短名称是问题的根源。出于兼容性原因,NTFS 除了存储长文件名外,还存储一个短名称。

您可以在解压之前将 zip 文件中的AUSWRT~1.TXT重命名为,或者您可以更改文件名的开头() 。AUSWRT~2.TXTAUSWRTAUSWRTX1APE1.TXT

另一种可能性是禁用 NTFS 兼容模式,但我不推荐这样做。

编辑以回复评论:

据我所知,~ 继承自与 FAT16 的反向兼容性,无法使用长度超过“xxxxxxxx.xxx”(12)个字符的文件名。在 FAT32 上创建较长的文件名时,它在 MSDOS 中显示为 xxxxxx~1.xxx,其中 ~1 是 ~ + 文件名中前 6 个字符的出现次数

建立短名称的规则非常复杂。请记住,它们取决于文件扩展名,并且这些规则在基于 DOS 的旧 Windows 和基于 NT 的 Windows 之间甚至有所不同。

相关内容