如何使用批处理文件获取当前版本的jre

时间:2014-02-11 19:06:17

标签: batch-file cmd

我正在编写一个批处理文件,我需要在我的系统中获取已安装jre的当前版本,然后根据它做出决定 - 我知道我可以通过查询注册表来获取当前版本。以下命令给出了以下输出 -

reg query "HKLM\Software\JavaSoft\Java Runtime Environment"

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
    Java7FamilyVersion    REG_SZ    1.7.0
    CurrentVersion    REG_SZ    1.7

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.7
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.7.0

但是我无法获得使用

解析此输出的值1.7
for /f "tokens=3"  %%i in ('Command') do echo %%i

我只想要当前版本的“1.7”,然后比较它并做出决定。我无法理解会有什么选择。 任何善于批处理命令的人都可以帮我解决这个问题吗?任何帮助将不胜感激。我还尝试解析java -version的输出并获取值。

1 个答案:

答案 0 :(得分:2)

您可以使用“java -version”命令并过滤/解析输出。

rem取“java -version”输出并过滤包含“Runtime Environme”的行 nt“。取第6个字并在”_“之前回显部分

for /f "tokens=1-10" %%a in ('java -version 2^>^&1 ^| find "Runtime Environme
nt"') do for /f "delims=_" %%x in ('echo %%f') do echo %%x