首页 文章

有没有办法将STDERR和STDOUT传递给不同的程序?

提问于
浏览
0

例如,我需要设置两个tee命令,使得一个将从STDOUT读取,第二个从STDERR读取,并且将控制台输出重定向到不同的文件 . 在Windows批处理文件中是否可以这样做?我知道如何将输出重定向到文件,但在这种情况下,它不会显示在屏幕上或如何组合两个流,但如何独立管道?

2 回答

  • 2

    您可以通过下一个技巧处理STDOUT和STDERR以及单独的程序:

    (test | findstr /N /A:2A "^" ) 2>&1 1>&3 | findstr /N /A:4E "^"
    

    上一行显示STDOUT输出前面是绿色数字,STDERR输出前面是红色数字 . 只需使用您的TEE程序代替findtr ...

    如果批处理文件没有足够的TEE程序,可以在这里找到一个:Displaying Windows command prompt output and redirecting it to a file

  • 0

    您可以将stdout和stderr重定向到不同的文件,但这就是它的大概 .

    如果make输出可以在每一行上进行时间编码,则可以调整这两个文件并重新交错 .

相关问题