例如,我需要设置两个tee命令,使得一个将从STDOUT读取,第二个从STDERR读取,并且将控制台输出重定向到不同的文件 . 在Windows批处理文件中是否可以这样做?我知道如何将输出重定向到文件,但在这种情况下,它不会显示在屏幕上或如何组合两个流,但如何独立管道?
您可以通过下一个技巧处理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
您可以将stdout和stderr重定向到不同的文件,但这就是它的大概 .
如果make输出可以在每一行上进行时间编码,则可以调整这两个文件并重新交错 .
2 回答
您可以通过下一个技巧处理STDOUT和STDERR以及单独的程序:
上一行显示STDOUT输出前面是绿色数字,STDERR输出前面是红色数字 . 只需使用您的TEE程序代替findtr ...
如果批处理文件没有足够的TEE程序,可以在这里找到一个:Displaying Windows command prompt output and redirecting it to a file
您可以将stdout和stderr重定向到不同的文件,但这就是它的大概 .
如果make输出可以在每一行上进行时间编码,则可以调整这两个文件并重新交错 .