Jump to content

Registrierungsschlüssel auslesen und Wert als Variable Setzen...?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

hi ho,

 

Ich würde gerne per Batch einen Registrierungsschlüssel bzw. Wert auslesen (mit reg query) und diesen Wert dann gerne als Variable Setzen, wie muss der Befehl lauten damit ich den ausgelesenen Wert als Variable Setzen kann?

 

thx.

Geschrieben

Danke Urmel, ich hab's ein weing Angepasst, aber ich bin einfach zu sehr Batch noob. Ich hab's mal mit folgener Zeile und testschlüssel versucht:

 

for /f "skip=4" %i in ("reg query HKCR\.3g2" /v "Content Type") do set pfad=%%i

hmm, eigentlich sollte ich so doch die Variable %pfad% erhalten, nur hab ich die nicht wenn ich mit set nachschaue!?

Geschrieben

ok ok, ich bin ganz nah dran, mit diesem Befehl kann ich auslesen was Reg query zurückgibt:

 

FOR /F "tokens=3 delims= " %i IN ('REG QUERY "HKCU\Control Panel\International" /v sCountry') DO SET Country=%i

 

Hier würde z.b. das Land als Variable gesetzt.

Doch leider nicht ganz, das Format von Reg Query sieht nämlich folgendermaßen aus:

 

 

! REG.EXE VERSION 3.0

 

HKEY_CURRENT_USER\Control Panel\International

sCountry REG_SZ Deutschland

 

Mit dem obigen FOR Befehl wird somit aber VERSION als Variable gesetzt, es sollte aber Deutschland sein. Dazu müsste ich ihm sagen das er 4 Zeilen überspringen soll, das macht er aber leider mit dem FOR /F "skip=4 usw. Befehl nicht.

Geschrieben

OK, obwohl lefg erst kürzlich das mal schön und Lehrbuchartig aufgedröselt hat,

hier nochmal aber nur in Kurzform.

 

Hint: in der cmd mal "help for" eingeben, dann kommt die Langform der Erklärung.

 

FOR /F "tokens=3 skip=2" %i IN ('REG QUERY "HKCU\Control Panel\International" /v sCountry') DO SET Land=%i

Alles in einer Zeile direkt in der CMD ausgeführt, dein Land kommt raus.

 

Warum

- Skip überspringt 2 Zeilen der Ausgabe, die dritte wird geparst.

- Token - wir wollen das dritte Token haben, sonst nix

- Delim - fällt hier weg da Default = Blank zwischen den Token.

Alles klar? :)

Geschrieben

Jo Super, das scheints gewesen zu sein, Danke :)

 

Da gibts nur ein Problem: Auf der Kommandozeile funktioniert das ganze wunderbar, aber in einer Batchdatei nicht, da bekommt man folgenden Fehler:

 

"i" ist an dieser Stelle Syntaktisch nicht verarbeitbar

 

Sehr seltsam... :confused:

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...