Holen Sie sich die Windows-Version in einer Batch-Datei

Ich brauche die OS-Version mit einer Batch-Datei. Ich habe viele Beispiele online gesehen, viele verwenden so etwas wie diesen Code:

@echo off

ver | find "XP" > nul
if %ERRORLEVEL% == 0 goto ver_xp

if not exist %SystemRoot%\system32\systeminfo.exe goto warnthenexit

systeminfo | find "OS Name" > %TEMP%\osname.txt
FOR /F "usebackq delims=: tokens=2" %%i IN (%TEMP%\osname.txt) DO set vers=%%i

echo %vers% | find "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_7

echo %vers% | find "Windows Vista" > nul
if %ERRORLEVEL% == 0 goto ver_vista

goto warnthenexit

:ver_7
:Run Windows 7 specific commands here.
echo Windows 7
goto exit

:ver_vista
:Run Windows Vista specific commands here.
echo Windows Vista
goto exit

:ver_xp
:Run Windows XP specific commands here.
echo Windows XP
goto exit

:warnthenexit
echo Machine undetermined.

:exit

Das Problem ist, wenn ich dies unter Vista oder Windows 7 ausführe, bekomme ich die Meldung

Maschine unbestimmt

Gibt es eine andere Möglichkeit, um das zu tun, was ich will?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage