【问题标题】:Output redirection in batch while using start command使用启动命令时批量输出重定向
【发布时间】:2014-03-27 07:40:28
【问题描述】:
我必须一次运行多次 jar 并将输出重定向到不同的文件。所以我使用的批次如下:
启动 java -jar app.jar > log1.out ;
启动 java -jar app.jar > log2.out ;
启动 java -jar app.jar > log3.out ;
暂停
它启动三个并行实例。但是输出不会被重定向到文件,它只在控制台上显示输出。
提前致谢。
【问题讨论】:
标签:
java
batch-file
command-line
jar
【解决方案1】:
使用它进行重定向
start cmd /c java -jar app.jar ^> log1.out
别忘了^。它在这里被用作逃生。在没有^ 的情况下,> 将被视为重定向到start 而不是java。
【解决方案2】:
start cmd /c java -jar app.jar ^> log1.out ^2^>^&1
将stderr重定向到你发送stdout的地方
start cmd /k java -jar app.jar ^> log1.out ^2^>^&1
/k 将保持窗口打开,允许您调试您的尝试以使其正常工作
【解决方案3】:
尝试使用/b在后台运行命令,如下:
start /b java -jar app.jar > log1.out ;
start /b java -jar app.jar > log2.out ;
start /b java -jar app.jar > log3.out ;
(/wait 标志也可以避免并行处理。)