Я ищу отрывок пакетного файла, который так или иначе читает реестр 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
Вы можете проверить записи под HKEY_LOCAL_MACHINE \ Software \ Javasoft \ Java Runtime Runtime в реестре