В вашем пути выполнения есть пробелы.Попробуйте это
@ECHO OFF
IF EXIST "C:\Program Files (x86)\Java\jre7" (
start "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar %~dp0\JavaShop.jar
) ELSE (
IF EXIST "C:\Program Files\Java\jre6"
start "C:\Program Files\Java\jre6\bin\java.exe" -jar %~dp0\JavaShop.jar
ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)
Лучше всего сделать, хотя бы проверить, установлена ли переменная окружения JAVA_HOME.Если он установлен, то в системе установлена java.
@ECHO OFF
IF EXIST %JAVA_HOME% (
start %JAVA_HOME%\bin\java.exe -jar %~dp0\JavaShop.jar
) ELSE (
ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)
Если у вас нет набора JAVA_HOME, вы можете просто попробовать саму команду java
.
@ECHO OFF
IF EXIST java (
start java -jar %~dp0\JavaShop.jar
) ELSE (
ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)