bat配置java环境变量

echo off
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::      自动添加批处理文件管理员权限      ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
CLS
ECHO.
ECHO ================================
ECHO 获取批处理文件管理员权限
ECHO ================================
:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO ********************************
ECHO 请求 UAC 权限批准……
ECHO ********************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::     以下为需要运行的批处理文件代码     ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
rem 本行以下可修改为你需要的bat命令(从上面三行冒号开始到下面都可删改)

cd /d %~dp0
SET JAVA_HOME_1_8x32=%~dp0jdk8 x32
SET JAVA_HOME_1_7x32=%~dp0jdk7 x32\jdk1.7.0_06
SET JAVA_HOME_1_6x32=%~dp0jdk6 x32\jdk1.6.0_33
SET JAVA_HOME_1_8x64=%~dp0jdk8 x64
SET JAVA_HOME_1_7x64=%~dp0jdk7 x64\jdk1.7.0_75
SET JAVA_HOME_1_6x64=%~dp0jdk6 x64\jdk1.6.0_43
GOTO CheckJAVAHOMEPath
:CheckJAVAHOMEPath
ECHO.  
ECHO.************************************************************  
ECHO.*                                                          *  
ECHO.*                JDK 系统环境变量设置                      *  
ECHO.*                                                          *  
ECHO.************************************************************  
SET MESSAGE=
If Defined JAVA_HOME (
 IF EXIST "%JAVA_HOME%" (
  ECHO.当前JAVA_HOME环境:%JAVA_HOME%
  ECHO.当前JDK版本:
  java -version
  ping /n 3 127.0.0.1 >nul
  GOTO Select_Menu
 ) ELSE (
  SET MESSAGE=*     未检测到JAVA_HOME目录存在,请选择欲设置JDK环境        *
  GOTO Select_Menu
 )
) Else (
 SET MESSAGE=*         未检测到环境变量,请设置JDK环境变量               *
 GOTO Select_Menu
)
PAUSE



:Select_Menu
CLS
ECHO.************************************************************
ECHO.*                                                          *
ECHO.*       版本:                                              *
ECHO.*           1.【1.6 x32】    2.【1.6 x64】                 *
ECHO.*           3.【1.7 x32】    4.【1.7 x64】                 *
ECHO.*           5.【1.8 x32】    6.【1.8 x64】                 *
ECHO.*                                                          *
ECHO.************************************************************ 
SET/p n=      请选择切换版本,退出直接回车:
IF "%n%"=="" GOTO ExitBat
IF %n%==1 GOTO Select_JAVAHOME_1_6x32
IF %n%==2 GOTO Select_JAVAHOME_1_6x64
IF %n%==3 GOTO Select_JAVAHOME_1_7x32
IF %n%==4 GOTO Select_JAVAHOME_1_7x64
IF %n%==5 GOTO Select_JAVAHOME_1_8x32
IF %n%==6 GOTO Select_JAVAHOME_1_8x64
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_6x32
SET SelectPath=%JAVA_HOME_1_6x32%
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_6x64
SET SelectPath=%JAVA_HOME_1_6x64%
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_7x32
SET SelectPath=%JAVA_HOME_1_7x32%
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_7x64
SET SelectPath=%JAVA_HOME_1_7x64%
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_8x32
SET SelectPath=%JAVA_HOME_1_8x32%
GOTO Select_JAVAHOME
:Select_JAVAHOME_1_8x64
SET SelectPath=%JAVA_HOME_1_8x64%
GOTO Select_JAVAHOME
:Select_JAVAHOME
CLS
ECHO.===========================准备设置内容=============================
ECHO.
ECHO.准备设置环境变量: JAVA_HOME=%SelectPath%
ECHO.注意: 如果JAVA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!
ECHO.
If Defined Path (
 ECHO.无需设置Path变量......
) Else (
 ECHO.创建Path环境变量......
)
ECHO.
ECHO.==========================原环境变量内容============================
ECHO.
If Defined JAVA_HOME (
 ECHO.JAVA_HOME=%JAVA_HOME%
) Else (
 ECHO.JAVA_HOME=无环境变量
)
ECHO.PATH=%Path%
ECHO.
ECHO.==========================取消直接关闭窗口==========================
SET /P EN=请确认后按 回车键 开始设置! 
WMIC ENVIRONMENT WHERE (name="Path" and username="") GET VARIABLEVALUE|FINDSTR /i /c:"%%JAVA_HOME%%">nul
IF "%errorlevel%"=="0" (
	ECHO Path已存在
) ELSE (
	WMIC ENVIRONMENT WHERE "name='Path' and username=''" SET VariableValue="%%JAVA_HOME%%\bin;%Path%"
)

WMIC ENVIRONMENT CREATE name="JAVA_HOME",username="",VariableValue="%SelectPath%"
WMIC ENVIRONMENT WHERE "name='JAVA_HOME' and username=''" SET VariableValue="%SelectPath%"

START EnvRefreshmentor.exe
SET /P EN=环境变量切换完毕,按任意键退出
GOTO ExitBat


:ExitBat
ECHO.环境变量已设置完毕
pause

猜你喜欢

转载自blog.csdn.net/cenbaolin/article/details/76653324