我已经看到了一些示例,您可以将单个命令的STD in / out / err重定向到文件。所以我能够创建一个myLogger.bat作为包装器,将myScript的调用语句重定向到myLogFile。
myLogger的示例代码:
CALL "%xDir%\%%1" > "%lDir%\%lFil%" 2>&1
从命令行执行> myLogger.bat myScriptToBeLogged.bat
但是我无法重定向Windows批处理文件(.bat)中所有命令的STD in / out / err
是否有类似于“exec> $ logFile 2>& 1 in shell”的内容,可以包含在批处理脚本的开头,该脚本会将同一脚本的所有日志重定向到文件。
提前致谢!
答案 0 :(得分:1)
大多数情况下,您需要使用1> (STDOUT)
和2> (STDERR)
所以,例如:
dir 1>stout.txt 2>stderr.txt
有关详细信息,以及如何使用STDIN做一些聪明的事情,请参阅here。
答案 1 :(得分:1)
你几乎拥有它。只需在开始时使用重定向来调用例程。
@echo off
>test.log 2>&1 call :start %*
exit /b
:start
REM rest of script goes here.