Skip to content

Commit 45edf5c

Browse files
committed
Fix detect-os
1 parent 6ff60b5 commit 45edf5c

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

script/detect-os/run.bat

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,34 +12,32 @@ for /f "tokens=4-7 delims=[.] " %%i in ('ver') do (
1212
)
1313

1414
REM Get OS caption and version from systeminfo output
15-
for /f "tokens=2* delims=:" %%i in ('systeminfo ^| findstr /B /C:"OS Name"') do set OS_CAPTION=%%j
16-
for /f "tokens=2* delims=:" %%i in ('systeminfo ^| findstr /B /C:"OS Version"') do set OS_VERSION=%%j
15+
for /f "tokens=2* delims=:" %%i in ('systeminfo ^| findstr /B /C:"OS Name"') do set "OS_CAPTION=%%j"
16+
for /f "tokens=2* delims=:" %%i in ('systeminfo ^| findstr /B /C:"OS Version"') do set "OS_VERSION=%%j"
1717

1818
REM Trim leading spaces
19-
for /f "tokens=* delims= " %%i in ("%OS_CAPTION%") do set OS_CAPTION=%%i
20-
for /f "tokens=* delims= " %%i in ("%OS_VERSION%") do set OS_VERSION=%%i
19+
if defined OS_CAPTION for /f "tokens=* delims= " %%i in ("%OS_CAPTION%") do set "OS_CAPTION=%%i"
20+
if defined OS_VERSION for /f "tokens=* delims= " %%i in ("%OS_VERSION%") do set "OS_VERSION=%%i"
21+
22+
REM Set default flavor
23+
set "OS_FLAVOR=windows"
2124

2225
REM Determine OS flavor
23-
echo %OS_CAPTION% | findstr /i "Windows 11" >nul
24-
if %errorlevel%==0 (
25-
set OS_FLAVOR=windows11
26-
) else (
26+
if defined OS_CAPTION (
27+
echo %OS_CAPTION% | findstr /i "Windows 11" >nul
28+
if not errorlevel 1 set "OS_FLAVOR=windows11"
29+
2730
echo %OS_CAPTION% | findstr /i "Windows 10" >nul
28-
if %errorlevel%==0 (
29-
set OS_FLAVOR=windows10
30-
) else (
31-
echo %OS_CAPTION% | findstr /i "Server 2022" >nul
32-
if %errorlevel%==0 (
33-
set OS_FLAVOR=windowsserver2022
34-
) else (
35-
echo %OS_CAPTION% | findstr /i "Server 2019" >nul
36-
if %errorlevel%==0 (
37-
set OS_FLAVOR=windowsserver2019
38-
) else (
39-
set OS_FLAVOR=windows
40-
)
41-
)
42-
)
31+
if not errorlevel 1 set "OS_FLAVOR=windows10"
32+
33+
echo %OS_CAPTION% | findstr /i "Server 2022" >nul
34+
if not errorlevel 1 set "OS_FLAVOR=windowsserver2022"
35+
36+
echo %OS_CAPTION% | findstr /i "Server 2019" >nul
37+
if not errorlevel 1 set "OS_FLAVOR=windowsserver2019"
38+
39+
echo %OS_CAPTION% | findstr /i "Server 2016" >nul
40+
if not errorlevel 1 set "OS_FLAVOR=windowsserver2016"
4341
)
4442

4543
REM Write environment variables to tmp-run-env.out

0 commit comments

Comments
 (0)