如何将STDIN,STDOUT,STDERR重定向到Windows批处理脚本中的文件

时间:2014-06-28 21:13:20

标签: windows batch-file

我已经看到了一些示例,您可以将单个命令的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”的内容,可以包含在批处理脚本的开头,该脚本会将同一脚本的所有日志重定向到文件。

提前致谢!

2 个答案:

答案 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.
相关问题