订购stderr和stdout或冲洗stderr

时间:2018-12-10 09:09:28

标签: windows batch-file cmd io-redirection

我得到了以下批处理命令

echo 1 & echo 2 1>&2 & echo 3

有时这会打印1 2 3 有时132如何控制订单? 我必须下订单。

是否有启用以下功能的命令?

echo 1 & echo 2 1>&2 & flush_stderr() & echo 3

1 个答案:

答案 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"