批处理脚本——安装jdk

时间:2022-06-15 15:16:37

批处理脚本——安装jdk

source —— 安装资源所在文件夹

auto.bat —— 批处理脚本

WinRAR.exe —— 用于解压zip包,可从winrar安装路径获取


auto.bat内容如下

@echo off

Rd "%WinDir%\system32\test_permissions" >NUL 2>NUL  
Md "%WinDir%\System32\test_permissions" 2>NUL||(Echo 请使用右键管理员身份运行!&&Pause >nul&&Exit)  
Rd "%WinDir%\System32\test_permissions" 2>NUL

cd /d %~dp0

:1
set/p targetpath=目标文件夹:
if not exist %targetpath% goto 1
set "targetpath=%targetpath:/=\%"
if not %targetpath:~-1%=="\" set targetpath=%targetpath%\

echo 将安装开发环境到%targetpath%

winrar x source/jdk1.8.0_121.zip %targetpath%
wmic ENVIRONMENT where "name='JAVA_HOME'" delete >NUL
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%targetpath%jdk1.8.0_121" >NUL
wmic ENVIRONMENT where "name='CLASS_PATH'" delete >NUL
wmic ENVIRONMENT create name="CLASS_PATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar" >NUL

wmic ENVIRONMENT where name="PATH" get VariableValue > temp.txt
For /f "tokens=1* delims=:" %%i in ('Type temp.txt^|Findstr /n ".*"') do (
If "%%i"=="2" Set key=%%j
)
if "%key:JAVA_HOME=%"=="%key%" wmic ENVIRONMENT where "name='PATH' and username='<system>'" set VariableValue="%%JAVA_HOME%%\bin;%key%" >NUL

del temp.txt

echo java安装完成

echo 安装完成!
pause

脚本处理逻辑如下:

1、判断是否以管理员身份运行脚本(编辑环境变量需要以管理员身份运行)

2、等待输入安装路径

3、解压压缩包到指定路径

4、配置JAVA环境变量