* 1的怪异行为

时间:2019-06-17 16:29:05

标签: windows cmd wildcard

我想知道表达式* 1在Windows下的特殊行为。我有三个子文件夹:“ s1 ”,“ s2 ”和“ a b ”。当我键入:

dir *1

它将列出“ s1”和“ a b”。实际上,它将列出文件名中带有空格的所有文件夹。

dir *2

按预期工作。

有任何线索吗?

1 个答案:

答案 0 :(得分:2)

Alex K.是正确的。

名称a b带有空格,因此将其视为“长”文件名。系统将生成备用的“短”文件名,以使较旧的应用程序无法处理“长”文件名。  短名称将是8.3名称,该名称可能以~1结尾。 dir(以及大多数其他在Windows上执行通配符搜索的程序)在确定是否匹配时会同时查看“长”文件名和“短”文件名。