如何在Windows上将stdout和std错误输出到文件并返回到stdout?

在Windows上运行批处理脚本时,我想logging我运行的输出:

myprogram.bat 1> mylog.log 2>&1 

这是伟大的 – 但我必须运行一个单独的尾部进程读取另一个窗口的输出。 我想要的是能够将其logging到一个文件,并一次在窗口中看到它。

现在在Mac上我可以这样做:

 ./a.out 2>&1 | tee output 

我的问题是: 如何pipe理标准输出和标准错误的文件,并返回到Windows上的标准输出?

我不认为这是可能的。 您可以使用第三方工具,如WinTee :

 myprogram.bat | wintee "mylog.log" 

或切换到PowerShell并使用Tee-Object cmdlet:

 .\myprogram.bat | Tee-Object "mylog.log"