viprex
Goto Top

IE Version per Batch auslesen

Hallo zusammen,

ich sehe den Wald vor lauter Bäumen nicht (oder es ist ein anderes Problem?). Ich möchte gerne die Internet Explorer Version mittels Batch Datei herausfinden. Folgender Code funktioniert unter Windows 7 mit IE8 wunderbar, mit XP Sp3 Pro und IE6 aber nicht:

@setlocal EnableDelayedExpansion 
@FOR /f "tokens=1,2,3 delims= " %%j in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do @set version=%%l  
@echo %version%

Es wird mir wundbar die Version 8.0.7600.16385 ausgegeben.

Der Codeschnipsel "reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version" gibt mir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    Version    REG_SZ    8.0.7600.16385
aus.

Gleicher Schnipsel auf einer XP Maschine mit IE6 gibt mir folgende Ausgabe:
! REG.EXE Version 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    Version    REG_SZ    6.0.2900.2180


Klar, den Unterschied (! REG.EXE Version 3.0) sehe ich auch. Ich hatte eigentlich gedacht, dass ich mit
@FOR /f "skip=2 tokens=1,2,3 delims= " %%j in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do @set version=%%l  
@echo %version%

auch die reine Versionsnummer erhalten, aber das scheint nicht zu funktionieren. Dies ist also Problem 1.

Problem 2 ist dann, wie ich den gesamten Code in einer Batch so untergebracht bekomme, dass sie fehlerfrei durchläuft und nicht einfach abbricht. Premium wäre, wenn dies sowohl mit IE6,7 und 8 auf XP und Win7 funktioniert. Win7 muss aber nicht unbedingt berücksichtigt werden.

Wenn jetzt noch der IE7 auf einer XP Maschine dazu kommt, bin ich ganz überfragt. Windows 7 Maschinen haben wir eigentlich noch nicht im Einsatz, daher könnte ich mich auf einen Code für XP Maschinen mit IE6, 7 und 8 konzentrieren.

Kann mir jemand aus der Patsche helfen? Herzlichen Dank!

Content-ID: 150956

Url: https://administrator.de/contentid/150956

Ausgedruckt am: 26.11.2024 um 17:11 Uhr

rubberman
rubberman 13.09.2010 um 20:31:59 Uhr
Goto Top
Hallo Viprex,

das Hauptproblem ist, dass du einen TAB Character als Delimiter verwenden musst, dann passt das auch mit dem 3. Token.
for /f "tokens=2* delims=	" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set "version=%%b"  
SKIP benötigst du nicht.
Ob das auf Win7 genauso funktioniert hängt einzig davon ab, ob der Registrypfad der gleiche ist.

Grüße
rubberman
Viprex
Viprex 14.09.2010 um 08:42:24 Uhr
Goto Top
Moin und vielen Dank für den guten Hinweis. Damit funktioniert es in der Tat mit Windows XP. Jetzt hängt sich das Skript allerdings in Windows 7 weg. Das ist aber nicht so schlimm, ich lasse einfach beide Skripte nacheinander laufen. Eines von beiden liefert mir dann ein Ergebnis, dass andere bricht dann eben ab.

Vielen Dank für deine schnelle Hilfe!