То, как обнаружить Java, установлено с помощью REGEDIT.exe от пакетного файла?

Я ищу отрывок пакетного файла, который так или иначе читает реестр Windows и обнаруживает, какой Java JDK находится в системе Windows и затем спрашивает пользователя, какой они хотят использовать, и помнит выбор.

Вот то, что я имею, до сих пор... нуждается в некоторых модификациях. Этот сценарий только находит первый JDK... он не обрабатывает кратные числа.

@echo off
SETLOCAL EnableDelayedExpansion
:: findJDK.bat
start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit" 
type reg1.txt | find "JavaHome" > reg2.txt 
if errorlevel 1 goto ERROR 
for /f "tokens=2 delims==" %%x in (reg2.txt) do (
  set JavaTemp=%%~x
  echo Regedit: JAVA_HOME path : !JavaTemp!
)
if errorlevel 1 goto ERROR
echo.
set JAVA_HOME=%JavaTemp%
set JAVA_HOME=%JAVA_HOME:\\=\%
echo JAVA_HOME was found to be %JAVA_HOME%
goto END
:ERROR
echo reg1.txt is: & type reg1.txt
echo reg2.txt is: & type reg2.txt
echo
:END
del reg2.txt
del reg1.txt
pause>nul
5
задан djangofan 26 October 2011 в 19:58
поделиться