我需要将标准的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
我怎样才能做到这一点。非常感谢您的帮助。
谢谢!
答案 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%