我正在查找以某種方式讀取Windows註冊表並檢測Windows系統上的哪個Java JDK的批處理文件片段,然後詢問用戶要使用哪一個並記住該選項。如何檢測Java是通過REGEDIT.exe從批處理文件安裝的?
這是我到目前爲止...需要一些修改。該腳本僅查找第一個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
這就是我在上面的例子中做什麼。即時通訊希望一個更巧妙的想法... – djangofan 2010-01-14 17:30:06