我得到了以下批处理命令
echo 1 & echo 2 1>&2 & echo 3
有时这会打印1 2 3 有时132如何控制订单? 我必须下订单。
是否有启用以下功能的命令?
echo 1 & echo 2 1>&2 & flush_stderr() & echo 3
答案 0 :(得分:2)
如果使用&&
而不是&
,则只有前一个命令成功完成时,它才会继续执行下一个命令。从这种意义上讲,您可以确保特定的进度。
我的信念是,在某些情况下,当您运行该行时,后一个命令要比较早的命令早完成,因为它们几乎同时启动。
编辑:另一个解决方案(虽然更冗长)是为每个命令运行start /wait
。
即start "" /b /wait cmd /c "echo 1" & start "" /b /wait cmd /c "echo 2" 1>&2 & start "" /b /wait cmd /c "echo 3"