Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VER: Windows-Version und Versionsnummer in Variablen schreiben

Frage Entwicklung Batch & Shell

Mitglied: Ruebezahl

Ruebezahl (Level 1) - Jetzt verbinden

29.11.2006, aktualisiert 30.11.2006, 6936 Aufrufe, 4 Kommentare

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:

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:

01.
@ECHO off 
02.
SETLOCAL 
03.
 
04.
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer  
05.
REM aus dem internen VER-Befehl 
06.
REM Diese Version laeuft NUR unter Windows 2000,  
07.
REM fuer Windows Server 2003 muesste sie geaendert werden 
08.
 
09.
FOR /f "tokens=1-5 delims=[] " %%i IN ('VER') DO (SET version=%%i %%j %%k& SET versionsnummer=%%m) 
10.
ECHO Version:....... %version% 
11.
ECHO Versionsnummer: %versionsnummer% 
12.
 
Um dieses Programm sowohl unter Windows 2000 als auch unter Windows Server 2003 lauffähig zu haben, enstand folgende Variante:
01.
@ECHO off 
02.
SETLOCAL 
03.
 
04.
REM Testprogramm zum Auslesen der Windows-Version und der internen Versionsnummer  
05.
REM aus dem internen VER-Befehl  
06.
REM Diese Version laeuft sowohl unter Windows 2000  
07.
REM als auch unter Windows Server 2003 ohne Aenderungen 
08.
 
09.
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 
10.
ECHO Version:....... %ver_a% 
11.
FOR /f "delims=]" %%k IN ("%ver_b%") DO SET ver_b=%%k 
12.
ECHO Versionsnummer: %ver_b% 
13.
 
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
Mitglied: gemini
29.11.2006 um 20:21 Uhr
Hallo Ruebezahl,

ein VBScript, das lt. Microsoft auch auf Win98 läuft
http://www.microsoft.com/technet/scriptcenter/scripts/os/version/ostveb ...

HTH,
gemini
Bitte warten ..
Mitglied: miniversum
29.11.2006 um 22:00 Uhr
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
Bitte warten ..
Mitglied: Biber
30.11.2006 um 06:58 Uhr
Moin Rübe,

teste mal diese Zeile am CMD-Prompt und bau sie ggf. ein (hab sie nicht unter W2003S getestet):
01.
>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" 
02.
set "Vers_a=Microsoft Windows XP " & set "Vers_b=5.1.2600"
[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
Bitte warten ..
Mitglied: Ruebezahl
30.11.2006 um 14:41 Uhr
Liebe Leute,


herzlichen Dank an alle für ihre Mühe, für miniversums Idee und auch für geminis Tipp, mal über den Batch-Tellerand zu schauen, ob es da nicht was in vbs gibt.

Die Idee von Biber funktioniert einwandfrei, sowohl unter Windows 2000 und auch unter Windows Server 2003 ohne jede Änderung.
Außerdem ist die Lösung soooo herrlich einfach... ich bin begeistert!


Nochmals vielen Dank an alle.

Herzliche Grüße
Ruebezahl
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom versendet automatische Kündigungen

Erfahrungsbericht von Voiper zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
gelöst Teilstring nach Splitten in Variablen schreiben vbs (2)

Frage von goodbytes zum Thema Batch & Shell ...

Windows 10
Vorherige Version von Windows 10 zurückholen (4)

Frage von achklein zum Thema Windows 10 ...

Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...