在 Windows 上,如何将 stdout 和 std 错误传送到文件并返回到 stdout?

在 Windows 上,如何将 stdout 和 std 错误传送到文件并返回到 stdout?

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

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

这很棒 - 但我必须运行一个单独的 tail 进程才能在另一个窗口中读取输出。我想要的是能够将其记录到文件中并在窗口中一次性查看它。

现在在 Mac 上我可以使用以下命令执行此操作:

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

我的问题是:在 Windows 上,如何将 stdout 和 std 错误传送到文件并返回到 stdout?

答案1

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

myprogram.bat | wintee "mylog.log"

或者切换到 PowerShell 并使用Tee 对象命令:

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

相关内容