在运行过程中将stderr重定向到stdout

时间:2014-02-27 11:11:02

标签: windows batch-file command-line stderr io-redirection

在cmd脚本中将stderr重定向到stdout的正式方法是在运行脚本之前使用2>&1选项:
例如MyScript.cmd > output.txt 2>&1

有没有办法在运行过程中将stderr重定向到stdout?

(将我的代码推送到主函数并使用2>&1调用它对我来说不是解决方案,因为有不必要的副作用)

2 个答案:

答案 0 :(得分:1)

也许您可以使用用户定义的句柄来区分错误流。

MyScript.cmd

CommandICareAbout.exe 2>&3
CommandICareAbout2.exe 2>&3
CommandIDontCareAbout.exe

用法

MyScript.cmd > output.txt 2>&1 3> errors.txt

您还可以将您不关心的命令静音,如下所示:

CommandIDontCareAbout.exe 2>nul

答案 1 :(得分:0)

由于@baruch已在评论中链接,我的问题已通过此包装解决

2>&1 (
  command1
  command2
  .
  .
  EOF
)