@echo off
SETLOCAL
ENABLEDELAYEDEXPANSION
for /f "tokens=2* delims= " %%i in
('reg query "HKLM\Software\JavaSoft\Java Development Kit" /s ^|
find /I
"JavaHome"') do (
echo 找到目錄 %%j
set /p isOK=該目錄是不是JDK^(Java
Development Kit^)的安裝目錄?[Y/N]
if /I "!isOK!"=="Y" (
call :setenv "%%j"
goto :eof
)
)
echo 找不到JDK(Java Development
Kit)安裝目錄,請手動輸入(可以通過右擊窗口粘貼)。
:input
set javapath="null"
set /p javapath=?:
if exist "%javapath:"=%" (
call :setenv "%javapath:"=%"
) else (
echo 目錄不存在,請檢查并重新輸入。
goto :input
)
goto :eof
:setenv
echo.
echo 設置Path
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
Path | find /I "%~1\bin" >nul
if %errorlevel% EQU 0 (
echo Path中已存在"%~1\bin",不進行添加
) else (
for /f "skip=2 tokens=2* delims= "
%%m in ('reg query
"HKLM\SYSTEM\ControlSet001\Control\Session
Manager\Environment" /v Path') do
(
echo Path中無"%~1\bin",進行添加
reg add
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
Path /t
REG_EXPAND_SZ /d "%~1\bin;%%n"
/f
)
)
echo.
echo 設置ClassPath
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath >nul 2>nul
if %errorlevel% EQU 1 (
echo
ClassPath不存在,新建并設置為".;%~1\lib\dt.jar;%~1\lib\tools.jar"
reg add
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath /t REG_SZ /d
".;%~1\lib\dt.jar;%~1\lib\tools.jar" /f
echo 按任意鍵退出...
pause >nul
goto :eof
)
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath | find /I "%~1\lib
\tools.jar"
>nul
if %errorlevel% EQU 0 (
echo
ClassPath中已存在"%~1\lib\tools.jar",不進行添加
) else (
for /f "skip=2 tokens=2* delims= "
%%m in ('reg query
"HKLM\SYSTEM\ControlSet001\Control\Session
Manager\Environment" /v ClassPath')
do (
echo
ClassPath中無"%~1\lib\tools.jar",進行添加
reg add
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath /t
REG_SZ /d "%~1\lib\tools.jar;%%n"
/f
)
)
echo.
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath | find /I "%~1\lib
\dt.jar" >nul
if %errorlevel% EQU 0 (
echo
ClassPath中已存在"%~1\lib\dt.jar",不進行添加
) else (
for /f "skip=2 tokens=2* delims= "
%%m in ('reg query
"HKLM\SYSTEM\ControlSet001\Control\Session
Manager\Environment" /v ClassPath')
do (
echo
ClassPath中無"%~1\lib\dt.jar",進行添加
reg add
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath /t
REG_SZ /d "%~1\lib\dt.jar;%%n"
/f
)
)
echo.
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath | find /I ".;" >nul
if %errorlevel% EQU 1 (
reg query
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath | find /I ";."
>nul
)
if %errorlevel% EQU 0 (
echo ClassPath中已存在".",不進行添加
) else (
for /f "skip=2 tokens=2* delims= "
%%m in ('reg query
"HKLM\SYSTEM\ControlSet001\Control\Session
Manager\Environment" /v ClassPath')
do (
echo ClassPath中無".",進行添加
reg add
"HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v
ClassPath /t
REG_SZ /d ".;%%n" /f
)
)
echo.
echo 按任意鍵退出...
pause >nul
goto :eof