批处理文件中含空格路径的javaw命令无法启动,求正确执行方法
解决Windows批处理中
start命令执行javaw的错误问题 这个问题我太熟啦!你出错的核心原因是没搞清楚start命令的语法逻辑——你把整个带参数的命令串当成了要启动的程序路径,系统自然会去找一个叫D:\ab cd\jre\bin\javaw -jar path_to_my_jar的文件,这显然不存在,所以报错。
正确的命令写法分几种情况:
保留自定义窗口标题的写法:
把程序路径和参数分开,带空格的程序路径单独用引号括起来,参数放在后面:start "test" "D:\ab cd\jre\bin\javaw" -jar path_to_my_jar这里第一个引号里的
test是新窗口的标题,第二个引号是带空格的javaw可执行文件路径,后面的-jar path_to_my_jar是javaw的运行参数,必须单独写。不需要窗口标题的写法:
如果不需要自定义窗口标题,也不能直接省略,得用空引号占位(因为start会把第一个带引号的内容识别为标题):start "" "D:\ab cd\jre\bin\javaw" -jar path_to_my_jar如果jar包路径也带空格:
那jar包的路径也要用引号括起来,比如:start "test" "D:\ab cd\jre\bin\javaw" -jar "D:\my app\my-project.jar"
额外小提示:
如果不需要新开窗口,直接在批处理当前窗口执行(javaw本身是后台运行,可能窗口会一闪而过),也可以直接写:
"D:\ab cd\jre\bin\javaw" -jar path_to_my_jar
内容的提问来源于stack exchange,提问作者Abbas
相关产品推荐
相关产品推荐

