1

毫无疑问,这已经得到了回答:/我不确定如何措辞。 我只希望文件 one.txt 以我认为是 dir *.txt 的方式返回

这里有一些例子表明它的行为不像我想象的那样。

目录 *.txt

one.txt
one.txtf

目录 *txt

one.txt
one.txtf

目录 *txtf

one.txtf

目录 *tx?

one.txt
one.txtf

目录 *.???

one.txt
one.txtf

目录一。???

one.txt

目录 *"."???

one.txt
one.txtf
4

1 回答 1

5

已编辑

简而言之-根据定义, DIR 命令按照您的暗示工作,因此它是那些“设计使然”的事情之一。

直接从微软上DIR命令。这个解释比 .NET 框架的下面的解释要复杂一些。

来自MSDN上的 .NET Framework 实现

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

于 2012-07-11T02:07:57.087 回答