Я пытаюсь получить свой путь java jdk, используя пакетный скрипт. Вот что у меня есть:
@echo off
for /f %%j in ("java.exe") do (
set JAVA_HOME=%%~dp$PATH:j
)
if "%JAVA_HOME%".==. (
@echo Java.exe not found
@echo Please make sure that java JDK 1.7 or 1.8 is installed
)
В операторе if, поскольку путь находится в C:\Program Files\Common Files\etc .., я получаю сообщение об ошибке, что в данный момент Common не ожидалось. Однако условие IF не работает должным образом, если Java не найден.
Если я удаляю "" окружающий JAVA_HOME, я получаю ошибку, что Файлы не ожидались в это время. В этом случае условие IF работает правильно, если найден файл JAVA.exe.
Почему он разрешает пробел или «\» в \Program Files и останавливается после этого?