Я намагаюся отримати мій 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: Файли програм Common Files і т.д., я отримую помилку Common не очікувалося в цей час. Однак, якщо IF не знайдено, умова IF не працює належним чином.
Якщо я "" видаляю навколишній JAVA_HOME, я отримую помилку, що "Файли" не очікувалося в цей час. У цьому випадку умова IF працює правильно, якщо знайдено JAVA.exe.
Чому він дозволяє пробіл або '' у програмі '' файли і після цього зупиняється?
if "%JAVA_HOME%"=="" (
?