Dir通配符和逗号

时间:2014-03-14 18:27:25

标签: cmd

我正在研究一个Dir命令,我注意到这种奇怪的行为,我似乎无法解释:

dir *SQHSER-1.0* /B /S |findstr  /v "\Archive" |findstr "pdf" |findstr /v "Awaiting"

这样可以正常工作,只返回一个pdf文件,其名称包含字符串SQHSER-1.0,而不是存档或等待文件夹 同时,

dir *SQHSER-1.0,* /B /S |findstr  /v "\Archive" |findstr "pdf" |findstr /v "Awaiting"

返回子目录中的每个PDF。这是一个错误还是我错过了什么?

由于

2 个答案:

答案 0 :(得分:2)

dir "*SQHSER-1.0,*" /B /S |findstr  /v "\Archive" |findstr "pdf" |findstr /v "Awaiting"

应该解决您的问题 - 引用文件/路径名通常是模糊分隔符问题的解决方案。

答案 1 :(得分:1)

逗号被视为分隔符(就像空格一样)。因此,您要求dir返回以SQHSER-1.0结尾然后"所有文件"的文件。当然,这会导致获取所有文件。

你想用逗号做什么?