将批处理文件的输出附加到日志文件

Mon*_*yak 34 batch-file

我有一个调用java程序的批处理文件.

输出将重定向到同一目录中的日志文件.但是,每次运行批处理文件时都会替换日志文件...

我想将旧输出保留在日志文件中,并始终将新输出附加到日志文件中.

Jon*_*eet 89

而不是像这样使用">"重定向:

java Foo > log
Run Code Online (Sandbox Code Playgroud)

使用">>"将正常的"stdout"输出附加到新文件或现有文件:

java Foo >> log
Run Code Online (Sandbox Code Playgroud)

但是,如果您还想捕获"stderr"错误(例如无法启动Java程序的原因),您还应该使用"2>&1"标记将"stderr"("2")重定向到" stdout"("1").例如:

java Foo >> log 2>&1 
Run Code Online (Sandbox Code Playgroud)

  • @Monojeet:你基本上是在谈论将自己的调度程序编写为脚本......这对我来说听起来不是一个好主意.我确信可以远程配置计划任务,这将是一个更好的方法,IMO.如果你真的想要避免这种情况,我会把调度放在一个"正确的"程序中(无论是Java,C#包装器还是其他),而不是试图在批处理文件中进行. (3认同)