Windows 命令行通配符扩展顺序

Windows command line wildcard expansion order

当您在 Windows 中使用串联命令发出以下副本时:

copy /b *.txt elsewhere\all.txt

有什么办法可以控制源文件的顺序吗?快速测试建议按字母排序,但有任何保证吗?

首先,cmd 中没有像 bash 中那样的通配符扩展。该命令将按原样接收参数。在 copy 命令中,它将通配符传递给 FindFirstFile,其中 returns 文件以文件系统呈现的任何顺序排列。在 NTFS 中,它们存储在 B 树结构中,因此如果您使用英语,它看起来是按字母顺序排列的,但它不会像其他语言中那样,或者如果有特殊的 characters/special 搭配规则.在 FAT32 驱动器上,文件线性存储在文件分配 table 中,因此文件将按 table

中的顺序列出