将java输出添加到bat文件的echo字符串

时间:2013-10-18 06:51:52

标签: java batch-file jar echo stdout

我需要将标准的Java应用程序分配给bat文件的echo字符串。让我们说java应用程序通过System.out.println写“hello world”。

例如,我有一个bat文件mybat.bat。

 @echo off

    echo output=java -jar E:\FYP\MyApp\out\artifacts\MyApp_jar\MyApp_jar\MyApp.jar %1

,不提供输出= Hello world

我怎样才能做到这一点。非常感谢您的帮助。

谢谢!

2 个答案:

答案 0 :(得分:3)

据我了解你 - 你想把java的输出分配给变量。 也许这会为你做这件事:

@echo off
set "java_output="
setlocal enableDelayedExpansion
for /f "delims=" %%J in ('java -jar E:\FYP\MyApp\out\artifacts\MyApp_jar\MyApp_jar\MyApp.jar %1') do (
      set "java_output=!java_output! %%J" 
)
endlocal & set java_output=%java_output%
echo %java_output%

答案 1 :(得分:2)

您需要使用for命令获取程序的输出并将其分配给变量。

  @echo off
    for /F "tokens=*" %%o in ('java -jar E:\FYP\MyApp\out\artifacts\MyApp_jar\MyApp_jar\MyApp.jar %1') do set output=%%o
    echo %output%