代码之家  ›  专栏  ›  技术社区  ›  JoelFan

从批处理文件创建日志

  •  2
  • JoelFan  · 技术社区  · 14 年前

    我有一个批处理文件(.BAT),希望在每次运行时自动将其输出捕获到一个文件中。我知道我可以使用重定向,但在它运行时我就看不到它了。另外,其他人使用这个批处理文件,我希望创建日志,而不需要用户做任何特殊的事情。

    2 回复  |  直到 14 年前
        1
  •  2
  •   joni    14 年前
        2
  •  2
  •   Joey    14 年前

    如果您不喜欢下载或安装 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