Windows批处理文件-检查JAVA_HOME是否包含JAVA 7

Windows批处理文件-检查JAVA_HOME是否包含JAVA 7,java,windows,batch-file,java-7,Java,Windows,Batch File,Java 7,是否有办法在windows批处理文件中确定JAVA\u HOME环境系统变量是否包含JAVA 7?打开cmd并检查是否有JAVA\u HOME点: echo %JAVA_HOME% 如果要检测已安装的java版本,应该解析“java-version”的结果。JAVA_HOME是唯一的安装目录,因为您已将问题标记为,我假设您希望在批处理文件中执行此操作 批处理文件以检查此项 @echo off "%JAVA_HOME%"\bin\java -version:1.7 -version > n

是否有办法在windows批处理文件中确定
JAVA\u HOME
环境系统变量是否包含JAVA 7?

打开cmd并检查是否有JAVA\u HOME点:

echo %JAVA_HOME%

如果要检测已安装的java版本,应该解析“java-version”的结果。JAVA_HOME是唯一的安装目录

,因为您已将问题标记为,我假设您希望在批处理文件中执行此操作

批处理文件以检查此项

@echo off
"%JAVA_HOME%"\bin\java -version:1.7 -version > nul 2>&1
if %ERRORLEVEL% == 0 goto found
echo NOT FOUND
goto end

:found
echo FOUND
:end
如果%java_HOME%中的java是java 7,我刚刚制作了批处理文件print FOUND;如果不是java 7,则制作了print NOT FOUND。您可以根据需要调整批处理文件


java-version:1.7如果是Java7,则向shell返回一个成功(0)。否则返回一个失败(非零)。您可以使用
ERRORLEVEL
检查返回值并确定上一个命令返回的内容。

有趣的是,这对我来说并不起作用,直到我将行更改为“%JAVA\u HOME%”\bin\JAVA-version:1.7-version>nul 2>&1@hawkeye我目前没有安装1.7,所以我尝试了上面的方法(使用-version:1.6)反对&不管怎样,只是推断出它是1.7,将更新我的答案。对于1.6,无论是否有第二版本,ERRORLEVEL都为0。