Tôi đang tìm một đoạn mã tập tin bằng cách nào đó đọc đăng ký Windows và phát hiện Java JDK nào trên hệ thống Windows và sau đó hỏi người dùng cái nào họ muốn sử dụng và ghi nhớ lựa chọn.Làm thế nào để phát hiện Java được cài đặt thông qua REGEDIT.exe từ một tập tin thực thi?
Đây là những gì tôi có cho đến nay ... cần một số sửa đổi. Kịch bản này chỉ tìm thấy JDK đầu tiên ... nó không xử lý bội số.
@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
đó là những gì tôi đang làm trong ví dụ trên. Tôi hy vọng một ý tưởng khéo léo hơn ... – djangofan