-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchange-java.bat
54 lines (42 loc) · 1.42 KB
/
change-java.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@echo off
SET SCRIPT_DIR=%~dp0
SET FILE_VERSION=%SCRIPT_DIR%/java-location.txt
SET JAVA_TARGET=%1
REM Original permission batch code https://sites.google.com/site/eneerge/scripts/batchgotadmin
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
for /F "eol=# delims== tokens=1,*" %%a in (%FILE_VERSION%) do (
IF "%%a" == "%JAVA_TARGET%" (
echo "Trying to use %%b Restart your console/app to take effect"
)
)
goto UACPrompt
echo "B"
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
echo "C"
:--------------------------------------
REM Here is execute code in admin rights
for /F "eol=# delims== tokens=1,*" %%a in (%FILE_VERSION%) do (
IF "%%a" == "%JAVA_TARGET%" (
SETX /M JAVA_HOME "%%b"
)
)