使用代码,如何确定在 Windows 中安装了 Java VM(及其版本)。
最佳答案
假设您希望通过批处理文件以编程方式确定这一点,您可以使用安装在 windows\system32
中的 reg.exe
工具。
关于此工具的恼人之处在于无法让它仅返回退出代码,因此您必须通过重定向到无处来抑制其输出。当该值不存在时,它还会生成错误消息。
@echo off
rem
rem DetectJvmInstalled.cmd
rem
reg.exe query "HKLM\Software\JavaSoft\Java Runtime Environment" /v "CurrentVersion" > nul 2> nul
if errorlevel 1 goto NotInstalled
rem Retrieve installed version number.
rem The reg.exe output parsing found at http://www.robvanderwoude.com/ntregistry.php
set JvmVersion=
for /F "tokens=3* delims= " %%A IN ('reg.exe query "HKLM\Software\JavaSoft\Java Runtime Environment" /v "CurrentVersion"') do set JvmVersion=%%A
rem if "%JvmVersion%" == "" goto NotInstalled
:Installed
echo JVM Version = %JvmVersion%
exit /b 0
:NotInstalled
echo JVM Not installed.
exit /b 1
注意事项:
nul
设备有两种重定向,一种用于标准输出,一种用于标准错误。- 检测与值解析分开进行,以避免在值不存在时显示
ERROR...
消息。 delims=
选项后有一个空格字符(因为空格是分隔符)。- 如果成功(已安装),批处理文件返回错误级别/退出代码 0,如果失败(未安装),则返回 1。
希望对您有所帮助。
关于java - 如何确定Java VM是否安装在Windows上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5362941/