我以前看到过关于“突出显示” STDOUT 和 STDERR 之间的不同输出流的问题,但我想知道在 Windows 上是否有更简单的方法可以做到这一点。
我之所以感兴趣是因为我有一个以上的应用程序在流 3 和 4 上打印输出,这导致了令人困惑的结果和不必要的调试,直到我随机检查了每个可能的输出流。
有没有人有一个很好的内置解决方案来确定控制台输出来自哪个输出流?我想有应该是某种监视器(SysInternals?WMI?)可以显示控制台上打印的信息来自何处?
答案1
是否有人有一个很好的内置解决方案来确定控制台输出来自哪个输出流?
你可以使用重定向语法相应见STDOUT 与 STDERR 分隔文件在下面这个例子中,fileA 包含 STDOUT,而 fileB 包含 STDERR。
例子: command >> fileA 2>> fileB Redirect output and errors to separate files
STDIN = 0 Keyboard input STDOUT = 1 Text output STDERR = 2 Error text output UNDEFINED = 3-9 command 2> filename Redirect any error message into a file command 2>> filename Append any error message into a file (command)2> filename Redirect any CMD.exe error into a file command > file 2>&1 Redirect errors and output to one file command > fileA 2> fileB Redirect output and errors to separate files