我试图传递run.bat -Djava.messaging.ServerPeerID = 1,但args' ='被空间取代。因此,传递给Main.java的参数对于java.messaging.ServerPeerID来设置为true ....但它不应该是。主要应该有适当的arg .....
示例代码
set ARGS =
:loop1
if %1= "" goto contiArg
else (
# my echo here : echo " Args ... %1"
Set ARGS = %ARGS% %1
Shift
)
Goto loop1
线我的回声线抛出错误我使用双引号,如你所提到的.....
答案 0 :(得分:0)
=
是batch / cmd.exe中的标准分隔符,因此将其作为参数传递的唯一方法是将其用双引号括起来(使用run.bat "-Djava.messaging.ServerPeerID=1"
)。
java应该能够处理引号但是如果你希望你可以在传递给java时使用%~1
来取消引用该参数。
答案 1 :(得分:0)
请在您的脚本中尝试“%*”,以便在不进行处理的情况下传入参数。
请参阅:batch file to run jar file with parameters
Batch : For what is this symbol used? (percent-sign asterisk)