排除其他文件中包含的键字符串文件的所有行

Pro*_*mer 0 windows batch-file

我正在尝试编写Windows批处理文件,其中有两个文件受到关注。

第一个文件all.err包含失败的测试案例的日志,如下所示:

`CHECK:FAIL,"It should have been DEST`"
`CHECK:FAIL,"It should have been XYZA`"
`CHECK:FAIL,"It should have been PRTS`"
`CHECK:FAIL,"It should have been ABCD`"
.....................................
Run Code Online (Sandbox Code Playgroud)

我们还有另一个文件exclude.txt,每行存储一些字符串,例如:

XYZA
ABCD
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写Windows批处理脚本,该脚本可以列出的所有行,all.err其中不包含任何单词exclude.txt

我不明白该如何实施-有什么想法吗?

Mof*_*ofi 6

SomethingDark所写,此任务仅需要一个Windows命令行:

%SystemRoot%\System32\findstr.exe /I /L /V /G:exclude.txt all.err
Run Code Online (Sandbox Code Playgroud)

上在Windows命令提示窗口运行帮助输出findstr /?解释参数/I(病例 nsensitive), /L(搜索字符串是 iteral串), /V(在v ERSE匹配输出), /G等搜索字符串从文件)。

  • 如果“ exclude.txt”中第一个非空行的内容是有效的正则表达式,则所有搜索字符串将被视为“ / R”正则表达式。由于我们不知道实际的内容,我建议使用`/ L`选项来防止这种情况的发生。 (2认同)