Estoy buscando un fragmento de archivo por lotes que de alguna manera lea el registro de Windows y detecte qué Java JDK está en un sistema Windows y luego le pregunta al usuario cuál quiere usar y recuerda la opción.¿Cómo detectar que Java se instala a través de REGEDIT.exe desde un archivo por lotes?
Esto es lo que tengo hasta ahora ... necesita algunas modificaciones. Este script solo encuentra el primer JDK ... no maneja múltiples.
@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
eso es lo que estoy haciendo en el ejemplo anterior. Estoy esperando una idea más ingeniosa ... – djangofan