VER: Windows-Version und Versionsnummer in Variablen schreiben
Liebe Leute,
der Befehl VER gibt die aktuelle Windows-Version und die interne Programmversion aus. VER unter Windows 2000 zaubert die nachfolgende Zeile auf den Monitor:
Windows Server 2003 verzichtet sowohl auf den "Server" als auch auf die "2003" und gibt sich folgendermaßen zu erkennen:
Um nun die Windows-Version und die interne Programmversion auszulesen und sie in zwei verschiedenen Variablen abzuspeichern, habe ich das Folgende ausprobiert:
Um dieses Programm sowohl unter Windows 2000 als auch unter Windows Server 2003 lauffähig zu haben, enstand folgende Variante:
Das funktioniert alles tadellos, aber kennt jemand eine elegantere Möglichkeit (kürzer, besser, schöner), die sowohl unter Windows 2000 als auch unter Windows Server 2003 ohne Änderungen und nur mit Bordmitteln funktioniert?
Vielen Dank für Eure Mühe
Herzliche Grüße
Ruebezahl
der Befehl VER gibt die aktuelle Windows-Version und die interne Programmversion aus. VER unter Windows 2000 zaubert die nachfolgende Zeile auf den Monitor:
Microsoft Windows 2000 [Version 5.00.2195]
Windows Server 2003 verzichtet sowohl auf den "Server" als auch auf die "2003" und gibt sich folgendermaßen zu erkennen:
Microsoft Windows [Version 5.2.3790]
Um nun die Windows-Version und die interne Programmversion auszulesen und sie in zwei verschiedenen Variablen abzuspeichern, habe ich das Folgende ausprobiert:
@ECHO off
SETLOCAL
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer
REM aus dem internen VER-Befehl
REM Diese Version laeuft NUR unter Windows 2000,
REM fuer Windows Server 2003 muesste sie geaendert werden
FOR /f "tokens=1-5 delims= " %%i IN ('VER') DO (SET version=%%i %%j %%k& SET versionsnummer=%%m)
ECHO Version:....... %version%
ECHO Versionsnummer: %versionsnummer%
Um dieses Programm sowohl unter Windows 2000 als auch unter Windows Server 2003 lauffähig zu haben, enstand folgende Variante:
@ECHO off
SETLOCAL
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer
REM aus dem internen VER-Befehl
REM Diese Version laeuft sowohl unter Windows 2000
REM als auch unter Windows Server 2003 ohne Aenderungen
FOR /f "tokens=1-5 delims= " %%i IN ('VER') DO @FOR /f "tokens=1-2 delims=[" %%a IN ("%%i") DO SET ver_a=%%a& @FOR /f "tokens=1-2 delims= " %%k IN ("%%b") DO SET ver_b=%%l
ECHO Version:....... %ver_a%
FOR /f "delims=]" %%k IN ("%ver_b%") DO SET ver_b=%%k
ECHO Versionsnummer: %ver_b%
Das funktioniert alles tadellos, aber kennt jemand eine elegantere Möglichkeit (kürzer, besser, schöner), die sowohl unter Windows 2000 als auch unter Windows Server 2003 ohne Änderungen und nur mit Bordmitteln funktioniert?
Vielen Dank für Eure Mühe
Herzliche Grüße
Ruebezahl
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45667
Url: https://administrator.de/contentid/45667
Ausgedruckt am: 20.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Ruebezahl,
ein VBScript, das lt. Microsoft auch auf Win98 läuft
http://www.microsoft.com/technet/scriptcenter/scripts/os/version/ostveb ...
HTH,
gemini
ein VBScript, das lt. Microsoft auch auf Win98 läuft
http://www.microsoft.com/technet/scriptcenter/scripts/os/version/ostveb ...
HTH,
gemini
Vielleicht so (ungetestet)?
@echo off
SETLOCAL
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer
REM aus dem internen VER-Befehl
REM Diese Version laeuft NUR unter Windows 2000,
REM fuer Windows Server 2003 muesste sie geaendert werden
FOR /f "tokens=1,2 delims=" %%i IN ('ver') DO (SET version=%%i & SET versionsnummer=%%j)
ECHO Version:....... %version%
ECHO Versionsnummer: %versionsnummer:~8%
miniversum
@echo off
SETLOCAL
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer
REM aus dem internen VER-Befehl
REM Diese Version laeuft NUR unter Windows 2000,
REM fuer Windows Server 2003 muesste sie geaendert werden
FOR /f "tokens=1,2 delims=" %%i IN ('ver') DO (SET version=%%i & SET versionsnummer=%%j)
ECHO Version:....... %version%
ECHO Versionsnummer: %versionsnummer:~8%
miniversum
Moin Rübe,
teste mal diese Zeile am CMD-Prompt und bau sie ggf. ein (hab sie nicht unter W2003S getestet):
[Beim Einbauen in den Batch natürlich das "Echo" und das Caret vor dem "&" wieder raus und "%%i" statt "%i" ..etc. ]
Sonst stell doch bitte mal die relevanten VER-Rückgaben hier ins Forum, dann ist es einfacher.
Und irgendwo in diesem Forum gab es auch mal ein kleines Tut "GetOSVersion - Betriebssystemversion ermitteln" oder so ähnlich. ->Forumssuche.
Gruß
Biber
teste mal diese Zeile am CMD-Prompt und bau sie ggf. ein (hab sie nicht unter W2003S getestet):
>FOR /f "tokens=1,2 delims=" %i in ('ver') do @for /f "tokens=2" %a in ("%j") do @echo set "Vers_a=%i" ^& set "Vers_b=%a"
set "Vers_a=Microsoft Windows XP " & set "Vers_b=5.1.2600"
Sonst stell doch bitte mal die relevanten VER-Rückgaben hier ins Forum, dann ist es einfacher.
Und irgendwo in diesem Forum gab es auch mal ein kleines Tut "GetOSVersion - Betriebssystemversion ermitteln" oder so ähnlich. ->Forumssuche.
Gruß
Biber