我有一个批处理文件中的脚本 --
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
。这个位置存在于我的计算机上,但以上代码执行时会执行第一行,为什么呢?
后续:
这让我非常困惑,我现在有这个脚本 --
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
这一行也没有执行。
not
。因此,如果它存在的话,它将显示为no。 - Monacraft