@@ -12,34 +12,32 @@ for /f "tokens=4-7 delims=[.] " %%i in ('ver') do (
1212)
1313
1414REM 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
1818REM 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
2225REM 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
4543REM Write environment variables to tmp-run-env.out
0 commit comments