【发布时间】:2010-01-12 17:26:53
【问题描述】:
我正在寻找一个批处理文件 sn-p,它以某种方式读取 Windows 注册表并检测 Windows 系统上的 Java JDK,然后询问用户他们想要使用哪个并记住选择。
这是我目前所拥有的……需要一些修改。这个脚本只找到第一个 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
【问题讨论】:
标签: java batch-file registry java-home