我有一个批处理文件(.BAT),并希望每次运行时自动将其输出捕获到文件中。我知道我可以使用重定向,但是当它运行时我将无法看到它。此外,其他人使用此批处理文件,我希望创建日志,而无需用户做任何特殊的事情。
答案 0 :(得分:2)
答案 1 :(得分:2)
如果您对下载或安装tee
不利,可以使用简单的子程序来模拟它:
rem log <message>
:log
echo.%*
1>>logfile.txt echo.%*
然后只使用call :log Some crazy message
输出。这仅适用于您自己的消息,但是,它对您从批处理中运行的程序没有任何作用。你可以通过引入另一个子程序来做到这一点:
rem runlog <program> <arguments>
:runlog
setlocal
set FN=%RANDOM%
1>%FN%.tmp 2>&1 %*
type %FN%.tmp
1>>logfile.txt type %FN%.tmp
del %FN%.tmp
endlocal