Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 6973 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 ..
Ähnliche Inhalte
Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (3)

Frage von Zendara zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(3)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...