我正在尝试编写一个启动 java 应用程序的批处理文件。如果用户计算机上未安装 Java,则应用程序将使用提供的 Java 版本启动,具体取决于操作系统。
问题是语句的 theIF
和ELSE
part 都像语句不存在一样执行。
IF DEFINED %JAVA_HOME%(
Echo staring with installed java version
) ELSE (
REM check if computer is running 32 or 64 bit
REM code from http://support.microsoft.com/kb/556009/en-us
Set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
REG.exe Query %RegQry% > checkOS.txt
Find /i "x86" < CheckOS.txt > StringCheck.txt
If %ERRORLEVEL% == 0 (
Echo starting with 32bit java
Set JAVA_HOME=bin\java\jdk1.7.0_13\bin
) ELSE (
Echo starting with 64bit java
Set JAVA_HOME=bin\java64\jdk1.7.0_13\bin
)
DEL checkOS.txt
DEL StringCheck.txt
)
START %JAVA_HOME%\javaw [java arguments]