繁体   English   中英

Windows Findstr

[英]Windows Findstr

我正尝试在具有特定模式的文件夹中查找文件,例如:

abcd201 abcd001 abcd004

该文件夹包含名为

abcd(3 numbers)

我正在尝试使用模式:

abcd[0,2][0][1,4]但当前不起作用。

DIR /b C:\Folder\abcd"[0,2][0][1,4]".txt

谢谢!

dir命令不支持正则表达式。 您需要使用findstr过滤输出

dir /b "c:\folder\abcd*.txt" | findstr /r /c:"^abcd[02]0[14]\.txt$"

也就是说,使用dir命令获得要搜索内容的第一近似值,然后过滤列表(将dir命令传递给findstr )仅获得所需文件的列表。

findstr的正则表达式( /r )表示:过滤行,从行的开头(initial ^ )开始,然后是abcd ,然后是集合[02]中的任何字符,然后是0 ,然后是任意set [14]的一个字符,后跟一个点(单个点表示任何字符,因此需要转义\\. ),然后是字符串txt和该行的结尾( $ )。

也许您需要在findstr中添加一个/i开关,以指示匹配时必须忽略大小写。

您的示例的正则表达式也将匹配abcd204名称。 您可能会以更简单的方式找到这4个文件:

for %a in (0 2) do for %c in (1 4) do dir /B C:\Folder\abcd%a0%c.txt 2>NUL

此方法比findstr的方法要快,尤其是在文件数量很大的情况下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM