Windows短名称与长名称不匹配

时间:2015-04-17 16:27:01

标签: windows batch-file cmd

我正在使用前缀(即ABCD *)复制文件列表以匹配批处理脚本中的文件。但是,一些看似匹配的文件会被遗忘,而其他不匹配的文件会被抓取。

我跑了一个dir / X,发现少数文件的短名称与他们的长名不匹配:

4/17/2015  02:04 PM   554  ABCDEF~1.TXT     abcdefghijklmnopqrs.txt
4/17/2015  02:08 PM   123  ABCDEF~2.TXT     1234567890.txt
4/17/2015  03:18 PM   233  987654~1.TXT     abcdefg123456.txt

知道为什么会发生这样的事情以及如何解决它?

2 个答案:

答案 0 :(得分:2)

如果您的示例数据代表您的实际文件,则可以指定ABCDEFG*来解决此问题。

修改

由于上述建议不是一个选项,您可以使用FSUTIL删除所有8.3名称。

此命令将分析当前目录(.)中的文件并显示更改,而不实际进行更改。

fsutil 8dot3name strip /t .

删除/t参数以实际删除8.3名称。

您还可以运行:

fsutil 8dot3name strip

查看所有选项。

答案 1 :(得分:1)

短文件名和长文件名不需要匹配。默认算法在“NTFS如何生成短文件名”下记录here。您也可以在wikipedia

中找到它

您可以使用

更改短文件名
fsutil file setshortname longFileName shortFileName