能否为批处理启动的程序及Jar文件传递参数?
问题解答
问题1:能否为从批处理文件启动的程序传递参数?
完全可以。在批处理中启动程序时,直接将参数追加到程序命令的末尾即可,目标程序就能正常接收并使用这些参数。
问题2:使用批处理文件打开Jar文件时,能否为该Jar文件传递参数?
当然可以。通过java -jar命令运行Jar包时,只需将参数放在Jar文件名的后面,这些参数会被传递到Jar包主类的main方法中,供程序逻辑调用。
批处理代码修正说明
你当前的代码里,单独写的DebugMode = true是无效语句,既不会被批处理执行,也无法传递给Java程序。要实现参数传递,需根据程序读取参数的方式选择以下两种写法之一:
方式1:传递命令行参数
如果你的程序是通过读取命令行参数获取DebugMode值,直接把参数加在Jar文件名后即可:
@ECHO OFF start java -jar 2D_TestGame.jar DebugMode=true
方式2:设置环境变量传递
如果你的程序是通过读取系统环境变量获取DebugMode值,需先在批处理中设置环境变量,再启动程序:
@ECHO OFF set DebugMode=true start java -jar 2D_TestGame.jar
这种情况下,Java程序需要通过System.getenv("DebugMode")来读取该环境变量的值。
内容的提问来源于stack exchange,提问作者COTE_LAPYX
相关产品推荐
相关产品推荐

