Auslesen von unbekannten Registry Subkeys via Kommandozeile
Hi zusammen!
Mein Problem ist das ich aus der Registry einige Schlüssel auslesen muß, da diese
für eine Weiterverarbeitung verwendet werden sollen. Die Schlüssel sind leider
unbekannt und genau da ist mein Problem ;)
Ein Beispiel:
Unter HKCU\Software\Software1\Unterpunk1\ gibt es mehrere Schlüssel, deren Namen
nicht bekannt sind. Das Programm muß in der Lage sein alle Unterschlüssel in
HKCU\Software\Software1\Unterpunkt1\Unterpunkt2
auszulesen.
Mittels "reg query HKCU\Software\Software1\Unterpunkt1\Unterpunkt2" lese ich mir
die Keys aus, was dann so aussieht:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2\ScHLÜSsELNUMMER01
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2\ScHLÜSsELNUMMER55
Und genau die "schlüsselnummern" sind für mich interessant, mehr brauch ich nicht.
Ich weiß leider nur nicht genau wie ich den Rest "wegstripe" :/
Das es eine for IF Anweisung ist, ist mir klar, aber leider komm ich da nicht weiter.
Hoffe das mir einer helfen kann,
Gruß, Daniel
Mein Problem ist das ich aus der Registry einige Schlüssel auslesen muß, da diese
für eine Weiterverarbeitung verwendet werden sollen. Die Schlüssel sind leider
unbekannt und genau da ist mein Problem ;)
Ein Beispiel:
Unter HKCU\Software\Software1\Unterpunk1\ gibt es mehrere Schlüssel, deren Namen
nicht bekannt sind. Das Programm muß in der Lage sein alle Unterschlüssel in
HKCU\Software\Software1\Unterpunkt1\Unterpunkt2
auszulesen.
Mittels "reg query HKCU\Software\Software1\Unterpunkt1\Unterpunkt2" lese ich mir
die Keys aus, was dann so aussieht:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2\ScHLÜSsELNUMMER01
HKEY_CURRENT_USER\Software\Software1\Unterpunkt1\Unterpunkt2\ScHLÜSsELNUMMER55
Und genau die "schlüsselnummern" sind für mich interessant, mehr brauch ich nicht.
Ich weiß leider nur nicht genau wie ich den Rest "wegstripe" :/
Das es eine for IF Anweisung ist, ist mir klar, aber leider komm ich da nicht weiter.
Hoffe das mir einer helfen kann,
Gruß, Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 31196
Url: https://administrator.de/contentid/31196
Ausgedruckt am: 05.11.2024 um 06:11 Uhr
7 Kommentare
Neuester Kommentar
Na ja, d00mer,
im Prinzip würde ich so vorgehen:
a) wenn variable/spezifische "Reg add"-Ergänzungen je Schlüssel erfolgen sollen:
- den Oneliner ergänzen um eine Umleitung in Datei ">>AllSubKeys.txt"
- in der AllSubkeys.txt dann jeweils eine 2. (3., 4.,.n-te) Spalte anfügen mit den Reg-Ergänzungen. Musst Du dann ja auf jeden Fall manuell per Editor machen, wenn es keine automatisierbare Regel gibt.
-dann wieder per FOR /F -Anweisung diese REG-Add-Zusätze reinschreiben lassen.
b) wenn es KEINE spezifischen Reg-Add-Ergänzungen/Änderungen sind, sondern alle Schlüssel gleich betreffen:
- um den Oneliner oben noch eine weitere FOR /f ..in Do -Anweisung außen herum:
FOR /f in %x in ('denOnelinerVonOben') do reg add HKCU\Software\Software1\Subkey1\Subkey2\%x\andererkey /v "blablabla" /t REG_DWORD /d dword:00000000 /f
Oder es in einem Batch zur besseren Lesbarkeit auf ein paar Zeilen auseinanderziehen.
So wäre die Skizze.
Gruß Biber
...der sich erstmal das virtuelle Freibier munden läßt...
im Prinzip würde ich so vorgehen:
a) wenn variable/spezifische "Reg add"-Ergänzungen je Schlüssel erfolgen sollen:
- den Oneliner ergänzen um eine Umleitung in Datei ">>AllSubKeys.txt"
- in der AllSubkeys.txt dann jeweils eine 2. (3., 4.,.n-te) Spalte anfügen mit den Reg-Ergänzungen. Musst Du dann ja auf jeden Fall manuell per Editor machen, wenn es keine automatisierbare Regel gibt.
-dann wieder per FOR /F -Anweisung diese REG-Add-Zusätze reinschreiben lassen.
b) wenn es KEINE spezifischen Reg-Add-Ergänzungen/Änderungen sind, sondern alle Schlüssel gleich betreffen:
- um den Oneliner oben noch eine weitere FOR /f ..in Do -Anweisung außen herum:
FOR /f in %x in ('denOnelinerVonOben') do reg add HKCU\Software\Software1\Subkey1\Subkey2\%x\andererkey /v "blablabla" /t REG_DWORD /d dword:00000000 /f
Oder es in einem Batch zur besseren Lesbarkeit auf ein paar Zeilen auseinanderziehen.
So wäre die Skizze.
Gruß Biber
...der sich erstmal das virtuelle Freibier munden läßt...