Dir 命令有一个 MS-DOS 遗留,它带有一个 CP/M。
Dir command history
对于名称包含空格、超过 12 个字符或扩展名超过 3 个字符的文件,该行为可能是意外的。
那是因为生成的 8.3 短名称
Rules for 8.3 short names 提供了有关如何生成短名称的线索,但并不详尽。
请参阅下面的示例以获取一些提示
当使用dir搜索的文件夹或计算机支持短名称时,短名称尊重掩码的文件将被包含在最终结果中。
此外,结果包括短名称包含掩码中字符的文件,即使这些字符不是长名称的一部分。
一个经典的例子是 ~1(2,3..) 后缀
How affect short names the DIR result
可以通过取消对短名称的支持来阻止这种行为。
示例。
假设您的文件夹包含
aabb.xl
aa bb.xl
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
aa bb.xlsxp
aabb.xlsxpm
aa bb.xlsxpm
在我的电脑上,这是
示例 1)
DIR a*.* /x
17.09.2015 10:35 0 AABB~1.XL aa bb.xl
17.09.2015 10:35 0 AABB~1.XLS aa bb.xls
17.09.2015 10:35 0 AABB~3.XLS aa bb.xlsx
17.09.2015 10:35 0 AA3C12~1.XLS aa bb.xlsxp
17.09.2015 10:35 0 AA96D4~1.XLS aa bb.xlsxpm
17.09.2015 10:35 0 aabb.xl
17.09.2015 10:35 0 aabb.xls
17.09.2015 10:35 0 AABB~2.XLS aabb.xlsx
17.09.2015 10:35 0 AABB~4.XLS aabb.xlsxp
17.09.2015 10:35 0 AA84DD~1.XLS aabb.xlsxpm
示例 2)
DIR "*b*.xls" /x
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
示例 3)
DIR "*b*.xl?" /x
aabb.xl
aa bb.xl
aabb.xls
aa bb.xls
aabb.xlsx
aa bb.xlsx
aabb.xlsxp
示例 4)
DIR "*D*.xls" /x
aa bb.xlsxpm aka AA96D4~1.XLS
aabb.xlsxpm aka AA84DD~1.XLS
示例 5)
DIR "??????.xls" /x
aabb.xls
aa bb.xls aka AABB~1.XLS
aabb.xlsx aka AABB~2.XLS
aa bb.xlsx aka AABB~3.XLS
aabb.xlsxp aka AABB~4.XLS