derigeljohnwo
Goto Top

Unterordner in der Registry mit Batch Datei auslesen und prüfen

Hallo.

Ich möchte prüfen, ob auf einem System mindestens das .Net-Framework 2 installiert ist. Dies soll über eine Batch-Datei geschehen.

Unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\ sind die installierten Versionen aufgelistet.

In meinem Fall sind das die Ordner:

- CDF
- v2.0.50727
- v3.0
- v3.5
- v4
- v4.0

Es würde mir also genügen wenn ich die einzelnen Ordnernamen hintereinander auslese und sobald die ersten beiden Zeichen "v2" oder größer sind soll programm1 gestartet werden ... ansonsten programm2

mit dem code:

@ECHO OFF
FOR /F "tokens=2* delims=	 " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" /v Version') DO SET netVers=%%B  

set variable=%netVers:~0,1%
echo Die aktuelle .net Version: %variable%

@pause

erhalte ich zwar als ergebis "2" aber nur da ich ja den genauen schlüssel kenne.

Naja, falls noch Fragen offen sein sollten stellt sie bitte face-smile

LG

DerIgelJohnWo

Content-Key: 191424

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

Printed on: April 24, 2024 at 03:04 o'clock

Member: bastla
bastla Sep 18, 2012 updated at 16:36:16 (UTC)
Goto Top
Hallo DerIgelJohnWo und willkommen im Forum!

Darf ich Dich gleich vorweg auf die für das Posten von "Code" vorgesehene Formatierung hinweisen (lässt sich auch nachträglich noch durchführen face-wink)?
Du könntest das so versuchen:
set "Version="  
for /f "skip=2 delims=" %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"') do if "%%~ni" geq "v2" set "Version=%%~ni"  
if defined Version (Programm1) else (Programm2)
Falls die Version mindestens "v2" ist, kannst Du auch zusätzlich die Versionsnummer auch per "echo %Version%" ausgeben ...

Grüße
bastla
Member: DerIgelJohnWo
DerIgelJohnWo Sep 18, 2012 at 15:40:45 (UTC)
Goto Top
Super ... genau das was ich gebraucht habe ... Daumen hoch