在同一行上,多个命令以什么顺序运行?我可以做些什么来操纵它吗?

时间:2019-07-16 13:52:48

标签: batch-file echo findstr errorlevel order-of-execution

我正在使用FINDSTR来读取文件,然后回显ERRORLEVEL。我注意到我的FINDSTR首先运行回显,而后写入 。为什么这是FINDSTRECHO的顺序?可以自己选择订单吗?

如果我在两条单独的行上运行这两个命令,则没有问题,但是如果我运行五个单行命令,则我的输出为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

0 个答案:

没有答案