为什么dir * .txt还会返回* .txtf?

时间:2012-07-11 02:06:17

标签: batch-file wildcard dir

毫无疑问,这已经得到了解答:/我不确定如何说出来。 我只想让文件one.txt返回我认为的dir * .txt

以下是一些示例,表明它的行为与我的想法不同。

dir * .txt

one.txt
one.txtf

dir * txt

one.txt
one.txtf

dir * txtf

one.txtf

dir * tx?

one.txt
one.txtf

dir *。???

one.txt
one.txtf
dir one。???

one.txt

dir *“。”???

one.txt
one.txtf

1 个答案:

答案 0 :(得分:5)

EDITED

简而言之 - 根据定义,DIR命令可以正常运行,因此它是“按设计”的东西之一。

直接从DIR命令的Microsoft。这个解释比.NET框架更加啰嗦。

从.NET Framework实现的MSDN

  

在searchPattern中使用星号通配符时,例如“ .txt”,扩展名长度恰好为三个字符时的匹配行为与扩展名长度多于或少于三个字符时的匹配行为不同。具有正好三个字符的文件扩展名的searchPattern将返回扩展名为三个或更多字符的文件,其中前三个字符与searchPattern中指定的文件扩展名匹配。文件扩展名为一个,两个或多于三个字符的searchPattern仅返回扩展名与searchPattern中指定的文件扩展名完全匹配的文件。使用问号通配符时,此方法仅返回与指定文件扩展名匹配的文件。例如,给定两个文件“file1.txt”和“file1.txtother”,在目录中,“file?.txt”的搜索模式只返回第一个文件,而搜索模式为“file ”。 .txt“返回两个文件。