コードを使用して、Java VMがWindowsにインストールされていること(およびそのバージョン)を確認する方法。
これをプログラムでバッチファイルから決定する場合は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
注意事項:
nul
デバイスへのリダイレクトは2つあります。1 つは標準出力用、もう1つは標準エラー用です。ERROR...
値が存在しない場合にメッセージが表示されないように、検出は値の解析とは別に行われます。delims=
オプションの後にはスペース文字があります(スペースが区切り文字であるため)。それが役に立てば幸い。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加