如何确定Windows上是否安装了Java VM?

use*_*949 4 java windows jvm

使用代码,如何确定Windows中安装的Java VM(及其版本).

dev*_*uff 6

假设您希望以编程方式从批处理文件中确定这一点,您可以使用reg.exe安装的工具windows\system32.

关于这个工具的烦人的事情是没有办法让它只返回一个退出代码,所以你必须通过重定向到无处来抑制它的输出.当值不存在时,它还会生成ERROR消息.

@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
Run Code Online (Sandbox Code Playgroud)

注意事项:

  • 设备有两个重定向nul,一个用于标准输出,另一个用于标准错误.
  • 检测与值解析分开进行,以避免ERROR...在值不存在时显示消息.
  • delims=选项后面有一个空格字符(因为空格是分隔符).
  • 如果成功(已安装),则批处理文件将返回错误级别/退出代码,如果失败(未安装),则返回1.

希望能帮助到你.


Whi*_*g34 5

我想也许你有兴趣称这些:

System.getProperty("os.name");
System.getProperty("java.version");
Run Code Online (Sandbox Code Playgroud)

  • 不确定这是否是OP所寻求的,但这正是我所寻找的.谢谢. (2认同)