这个怎么运作? FINDSTR / M" string \>"

时间:2014-12-06 10:10:43

标签: regex batch-file batch-processing

我正在尝试以REQ_XXXX的格式搜索字符串。

XXXX可能是4位或5位数字。 5位数字可能包含4位数字。即10029包含1002

如何准确搜索?假设我在三个.adb文件中搜索REQ_1002,它应该返回确切的文件名。它不应该返回文件名10029。 解决上述问题 我试过了:

FINDSTR /M "\<REQ_1002\>" *.adb

它对REQ_1002正常工作。但是这没有找到REQ_1300的文件名。解释原因?

1 个答案:

答案 0 :(得分:0)

看起来您想在所有* .adb文件中搜索以 REQ _ 开头的字符串,并且只读取4位数字,并返回包含此类字符串的文件的名称。包含 REQ _ 5位数的文件应该被忽略。

即使使用有限的正则表达式功能,命令findstr也可用于此任务。

%SystemRoot%\System32\findstr.exe /M /R "\<REQ_[0-9][0-9][0-9][0-9]\>" *.adb

可能是获取仅包含 REQ_1002 或仅 REQ_1300 的* .adb文件名称所需的内容,但不仅仅是 REQ_10029