`dir`只考虑长文件名

时间:2014-02-04 20:27:37

标签: cmd

到目前为止,我想如果dir *.aaa我将获得所有扩展名为.aaa的文件,以下证明我错了:

echo >a.aaa
echo >a.aaa_bbb
dir /b *.aaa

打印

a.aaa
a.aaa_bbb

这不是我所期望的。我想这是因为8.3表示法中的a.aaa_bbb名称具有.aaa扩展名。如何强制dir不考虑8.3名称?或者,请通过不考虑8.3名称的文件掩码建议任何其他方式列出文件。

UPD:谢谢。不能将两个答案都标记为已接受,但它们都很好。

2 个答案:

答案 0 :(得分:4)

forfiles /M *.aaa可以解决问题。有许多参数可以根据您的需要更改输出。见forfiles /?

答案 1 :(得分:3)

这是一种方式:

dir *.aaa /b |findstr /i "\.aaa$"

或者:(将%加倍%%以便在批处理文件中使用)

for %a in (*.aaa) do if /i "%~xa"==".aaa" echo %a