我正在使用FINDSTR
来读取文件,然后回显ERRORLEVEL
。我注意到我的FINDSTR
首先运行回显,而后写入 。为什么这是FINDSTR
和ECHO
的顺序?可以自己选择订单吗?
如果我在两条单独的行上运行这两个命令,则没有问题,但是如果我运行五个单行命令,则我的输出为1 0 1 1 0
,而应为0 1 1 0 0
(以前的运行应该是返回ERRORLEVEL=1
,这就是1
在第一次运行时被回显的原因。我的代码块如下所示:
p:\ertms\70D_light\tiu1>findstr "main.faulty.bin" log.txt & echo %ERRORLEVEL%
ERROR -- !!! main.bin renamed as main.faulty.bin !!!
1
p:\ertms\70D_light\tiu1>findstr "main.faulty.bifn" log.txt & echo "%ERRORLEVEL%"
"0"
p:\ertms\70D_light\tiu1>findstr "main.faulty.bifn" log.txt & echo "%ERRORLEVEL%"
"1"
p:\ertms\70D_light\tiu1>findstr "main.faulty.bin" log.txt & echo %ERRORLEVEL%
ERROR -- !!! main.bin renamed as main.faulty.bin !!!
1
p:\ertms\70D_light\tiu1>echo %ERRORLEVEL%
0