如何将STDIN,STDOUT,STDERRredirect到windows批处理脚本中的文件

我已经看到了许多例子,你可以把STD in / out / errredirect到一个文件。 所以我能够创build一个myLogger.bat作为一个包装器,将myScript的调用语句redirect到myLogFile。

myLogger的示例代码:

CALL "%xDir%\%%1" > "%lDir%\%lFil%" 2>&1 

从命令行执行> myLogger.bat myScriptToBeLogged.bat

但是我不能redirectSTD in / out / err中的所有命令在Windowsbatch file(.bat)

有没有类似于“exec> $ logFile 2>&1在shell中”的东西,它可以包含在批处理脚本的开始部分,该脚本会将同一个脚本的所有日志redirect到一个文件中。

提前致谢!

大多数情况下,你会想用1> (STDOUT)2> (STDERR)

所以,例如:

 dir 1>stout.txt 2>stderr.txt 

欲了解更多细节,以及如何用STDIN做聪明的事情,请看这里 。

你几乎拥有它。 简单地在重定向开始时调用一个例程。

 @echo off >test.log 2>&1 call :start %* exit /b :start REM rest of script goes here.