我使用前缀(即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
任何想法为什么这样的事情可能会发生,如何解决?
如果您的示例数据代表您的实际文件,则可以指定ABCDEFG*
来解决此问题。
编辑
由于上述建议不是一个选项,您可以使用FSUTIL
来删除所有的8.3名称。
该命令将分析当前目录( .
)中的文件并显示更改,而不实际进行更改。
fsutil 8dot3name strip /t .
删除/t
参数以实际删除8.3名称。
你也可以运行:
fsutil 8dot3name strip
看到所有的选项。
短和长文件名不需要匹配。 默认的算法在“NTFS如何生成简短的文件名”下记录 。 你也可以在维基百科找到它
您可以使用更改短文件名
fsutil file setshortname longFileName shortFileName