-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsdkw.bat
More file actions
185 lines (155 loc) · 5.21 KB
/
sdkw.bat
File metadata and controls
185 lines (155 loc) · 5.21 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
@echo off & setlocal EnableDelayedExpansion
color 0A
title JAVA VERSION WINDOWS
:: Check if the script has administrator privileges
net session >nul 2>&1
if %errorlevel% neq 0 (
echo The script requires administrator privileges.
echo Requesting permissions...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
:: Search for Java installations in the default directory
set "java_dir=C:\Program Files\Java"
set "count=0"
for /f "delims=" %%A in ('dir /b /ad "%java_dir%\jdk*" 2^>nul') do (
set /a count+=1
set "java_option_!count!=%%A"
)
:: Get the full path of this .bat file
set "THISBAT=%~f0"
set "BATDIR=%~dp0"
set "BATDIR=%BATDIR:~0,-1%"
echo Setting environment variable sdkw to: %THISBAT%
setx sdkw "%THISBAT%" /M
:: Add current folder to PATH if not already included
echo %PATH% | find /i "%BATDIR%" >nul
if errorlevel 1 (
echo Adding %BATDIR% to the system PATH...
setx PATH "%PATH%;%BATDIR%" /M
) else (
echo The directory is already in the PATH.
)
:: Define Java download links
set "java7_url=https://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe"
set "java8_url=https://download.oracle.com/java/8/archive/jdk-8u401-windows-x64.exe"
set "java11_url=https://download.oracle.com/java/11/archive/jdk-11.0.20_windows-x64_bin.exe"
set "java17_url=https://download.oracle.com/java/17/archive/jdk-17.0.10_windows-x64_bin.exe"
set "java21_url=https://download.oracle.com/java/21/archive/jdk-21.0.1_windows-x64_bin.exe"
set "java24_url=https://download.oracle.com/java/24/archive/jdk-24_windows-x64_bin.exe"
:menu
cls
call :print_ascii
echo ================================
echo Java Version Selector
echo.
call :get_current_java
echo Current Java version: !java_version!
echo ================================
echo.
echo Select an option:
echo [0] Show current Java version
for /L %%N in (1,1,%count%) do (
echo [%%N] !java_option_%%N!
)
echo [8] Exit
echo [9] Download Java version
echo.
set /p choice=Enter the number of the desired option:
echo.
:: Handle selection
if "%choice%"=="0" (
call :get_current_java
echo Current Java version: !java_version!
pause
goto menu
)
if "%choice%"=="8" exit /b
if "%choice%"=="9" goto download_java
:: Loop to check installed Java selection
for /L %%N in (1,1,%count%) do (
if "%choice%"=="%%N" (
set "selected_java=!java_option_%%N!"
goto set_java
)
)
echo Invalid option.
pause
goto menu
:set_java
set "JAVA_HOME=%java_dir%\%selected_java%"
setx JAVA_HOME "%JAVA_HOME%" /M
setx PATH "%JAVA_HOME%\bin;%PATH%" /M
:: Update current session
set "PATH=%JAVA_HOME%\bin;%PATH%"
echo.
echo Java changed to: %JAVA_HOME%
echo.
pause
goto menu
:download_java
cls
echo Select a Java version to download:
echo.
echo [1] Java 7
echo [2] Java 8
echo [3] Java 11
echo [4] Java 17
echo [5] Java 21
echo [6] Java 24
echo [7] Go back to the main menu
echo.
set /p download_choice=Enter the number of the desired version:
if "%download_choice%"=="1" set "download_url=!java7_url!"
if "%download_choice%"=="2" set "download_url=!java8_url!"
if "%download_choice%"=="3" set "download_url=!java11_url!"
if "%download_choice%"=="4" set "download_url=!java17_url!"
if "%download_choice%"=="5" set "download_url=!java21_url!"
if "%download_choice%"=="6" set "download_url=!java24_url!"
if "%download_choice%"=="7" goto menu
if not defined download_url (
echo Invalid option.
pause
goto download_java
)
echo Downloading Java, please wait...
powershell -Command "& {Invoke-WebRequest -Uri '%download_url%' -OutFile 'java_installer.exe'}"
echo Download complete! Starting installation...
start /wait java_installer.exe /s
echo Installation finished. You may need to restart your system.
pause
goto menu
:get_current_java
for /f "tokens=2,*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME 2^>nul') do set "JAVA_HOME_TMP=%%b"
set "java_version=Unknown"
for %%v in (7 8 11 17 21 24) do (
if not "!JAVA_HOME_TMP!"=="" (
echo !JAVA_HOME_TMP! | findstr /i "1\.%%v\." >nul && set "java_version=Java %%v"
echo !JAVA_HOME_TMP! | findstr /i "%%v\." >nul && set "java_version=Java %%v"
)
)
exit /b
:print_ascii
echo.
echo _________-----_____
echo ____------ __ ----_
echo ___---- ___------ \
echo ----________ ---- \
echo -----__ ^| _____)
echo __- / \
echo _______----- ___-- \ /)\
echo ------_______ ---____ \__/ /
echo -----__ \ -- _ /\
echo --__--__ \_____/ \_/\
echo ---^| / ^|
echo ^| ^|___________^|
echo ^| ^| ((_(_)^| )_)
echo ^| \_((_(_)^|/(_)
echo \ (
echo \_____________)
echo.
echo ##########################################################
echo ###########CREDITS BY GITHUB.COM/MAXISANDOVAL37###########
echo ##########################################################
echo.
exit /b