【问题标题】: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 将保持窗口打开,允许您调试您的尝试以使其正常工作

      【讨论】:

      • 看起来^前面的2是可选的,即使没有它也可以。
      【解决方案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 标志也可以避免并行处理。)

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 1970-01-01
        • 2018-08-12
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多