Batch file 启动/b javaw,带有指向java主问题的自定义路径

Batch file 启动/b javaw,带有指向java主问题的自定义路径,batch-file,cmd,Batch File,Cmd,我正在编写一个windows批处理脚本,用javaw在后台启动Java程序 当我让用户拥有到Java主页的自定义路径时,问题就出现了。例如,当Java home的路径为:C:\Users\Sample User\Desktop\Java(注意路径中的空格),当我尝试运行start命令时,它会因为空格而中断 例如: @echo off set CUSTOM_JAVA_HOME=C:\Users\Federico Einhorn\Desktop\java set CP=myjar.jar;../l

我正在编写一个windows批处理脚本,用javaw在后台启动Java程序

当我让用户拥有到Java主页的自定义路径时,问题就出现了。例如,当Java home的路径为:
C:\Users\Sample User\Desktop\Java
(注意路径中的空格),当我尝试运行start命令时,它会因为空格而中断

例如:

@echo off
set CUSTOM_JAVA_HOME=C:\Users\Federico Einhorn\Desktop\java

set CP=myjar.jar;../lib/*;.
set JAVA_PARAMS=-myOption -Xmx1024M -classpath %CP%
set JAVA_CLASS=com.myorg.MyClass
set RUN_OPTS=%JAVA_PARAMS% %JAVA_CLASS% start

start /b "%CUSTOM_JAVA_HOME%/bin/javaw" %RUN_OPTS%
start
命令失败,因为
CUSTOM\u JAVA\u HOME
有空格

Windows找不到'-myOption'。确保键入了名称 正确,然后重试

使用常规java运行jar时不会发生这种情况:

%CUSTOM\u JAVA\u HOME%/bin/JAVA”%RUN\u OPTS%


有办法解决这个问题吗?

Start
%CUSTOM\u JAVA\u HOME%/bin/javaw”作为标题

修复方法是自己包含一个标题,甚至是一个空白标题:

Start "" /B "%CUSTOM_JAVA_HOME%\bin\javaw" %RUN_OPTS%

您应该使用反斜杠,而不是正斜杠:
%CUSTOM\u JAVA\u HOME%/bin/javaw“
应该是
%CUSTOM\u JAVA\u HOME%\bin\javaw”
设置CP=myjar.jar/lib/*
应该是
set CP=myjar.jar\lib\*@a_horse_与_no_name使用反斜杠无法解决此问题。我仍然得到相同的错误。这是因为
Start
%CUSTOM\u JAVA\u HOME%/bin/javaw“
作为标题。修复方法是自己包含一个标题,甚至是一个空白标题:
Start”“/B”%CUSTOM\u JAVA\u HOME%\bin\javaw”%RUN\u OPTS%
@Compo that worked!!阿斯维姆。你应该把这个评论作为解决方案。