给定一个文件 test.log 包含:
return code: 33
return code: 1
return code: 4
return code: 5
分析 test.log 的批处理脚本如下所示:
@echo off
for /F "delims=" %%i in ('findstr /e /v ": 1" test.log') do (
echo %%i
rem do some other command instead of echo
)
Findstr在行尾的 /e 开关匹配模式和 /v 开关选择除匹配之外的所有内容。结果将是:
return code: 33
return code: 4
return code: 5
在下面编辑
如果 text 的内容如下所示,我们也想对 text 做一些事情alternate: 1
,
return code: 33
return code: 1
return code: 4
return code: 5
alternate: 1
我们会做一个微妙的改变,如下所示:
@echo off
for /F "delims=" %%i in ('findstr /e /v "return code: 1" test.log') do (
echo %%i
rem do some other command instead of echo
)
这样我们提取除了return code: 1
.
编辑 2
要在第一个实例之后退出循环,请执行以下操作:
@echo off
for /F "delims=" %%i in ('findstr /e /v "return code: 1" test.txt') do (
echo %%i
goto :eof
)
:eof