无法确定ERRORLEVEL

时间:2017-02-16 17:52:45

标签: windows batch-file cmd pipe

我有一个批处理脚本,它在一个ant调用的输出上循环,并检查输出中是否存在字符串,如果字符串存在,我们继续执行下一步,否则我们终止执行..

这是我脚本中的伪片段:

FOR %%A in ('cmd here') do (
echo %%A | find /i "string">nul
if errorlevel 1 echo sth
echo %errorlevel%
)

现在输出中的所有行似乎都会进入此行,如果并且回显该行,即使用0替换1也不会改变任何内容,行为保持不变。

此外,%errorlevel%始终设置为0,我相信我理解。由于错误级别可用,它不会退回到%errorlevel%,我就在这里吗?

我知道错误级别应该返回管道的结果,例如在tee cmd中,它在哪里

dir | tee foo.txt

我在这里错过了吗?我应该怎样实现这个目标?

0 个答案:

没有答案