バッチファイルにこのスクリプトがあります -
if not exist "%JAVA_HOME%" (
echo JAVA_HOME '%JAVA_HOME%' path doesn't exist) --- (1)
else (
echo Setting JAVA property to '%JAVA_HOME%\bin\java' --- (2)
set "JAVA=%JAVA_HOME%\bin\java")
%JAVA_HOME%
に設定されましたC:\Program Files (x86)\Java\jdk1.7.0_45
。この場所は私のマシンに存在しますが、上記のコードは行 (1) を実行します。なぜですか?
ファローアップ:
それは私を夢中にさせています、私は今このスクリプトを持っています-
if "x%JAVA_HOME%" == "x" (
set JAVA=java
echo JAVA_HOME is not set. Unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
) else (
if not exist "%JAVA_HOME%" (
echo Here ----------------------------------> note this line !!
echo JAVA_HOME '%JAVA_HOME%' path doesn't exist
goto END
) else (
echo Setting JAVA property to '%JAVA_HOME%\bin\java'
set "JAVA=%JAVA_HOME%\bin\java"
)
)
:END
は%JAVA_HOME%
正しく設定されています (それは ですC:\Program Files (x86)\Java\jdk1.7.0_45
)。しかし、実行すると、このエラーが発生します-
prompt> test.bat
prompt> \Java\jdk1.7.0_45' was unexpected at this time
prompt> echo JAVA_HOME 'C:\Program Files (x86)\Java\jdk1.7.0_45' path does not exist
何が起こっている?echo Here
行も同様に実行されないことにも注意してください。