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, 6944 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
Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...