Windows 从批处理文件创建日志

Windows 从批处理文件创建日志,windows,batch-file,dos,Windows,Batch File,Dos,我有一个批处理文件(.BAT),希望在每次运行时自动将其输出捕获到一个文件中。我知道我可以使用重定向,但是当它运行时,我将无法观看它。另外,其他人使用此批处理文件,我希望创建日志时用户无需执行任何特殊操作。teeforwindows 如果您不喜欢下载或安装tee,您可以使用一个简单的子例程来模拟它: rem log <message> :log echo.%* 1>>logfile.txt echo.%* 有没有办法在不让用户输入的情况下使用“tee”(意思是:他们只是

我有一个批处理文件(.BAT),希望在每次运行时自动将其输出捕获到一个文件中。我知道我可以使用重定向,但是当它运行时,我将无法观看它。另外,其他人使用此批处理文件,我希望创建日志时用户无需执行任何特殊操作。

teeforwindows

如果您不喜欢下载或安装
tee
,您可以使用一个简单的子例程来模拟它:

rem log <message>
:log
echo.%*
1>>logfile.txt echo.%*

有没有办法在不让用户输入的情况下使用“tee”(意思是:他们只是运行我的批处理文件,批处理文件以某种方式自动调用“tee”)@JoelFan:是的,有一种简单的方法:使用另一个批处理文件(或者同一批处理文件以不同的选项调用自己)。
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