Export von mehreren Tausend registry-Einträgen per batch
Hallo!
Ich möchte per batch mehrere Tausend registry-Einträge von Programmen exportieren.
Ich habe es geschafft, diese Einträge mit einigen Tricks in eine Liste dieser Form zu exportieren:
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\(Default)"
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\ProxyStubClsid\(Default)"
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\TypeLib\Version"
Diese Registry-Einträge sind leider in so vielen verschiedenen Schlüsseln (>1000) verteilt, dass es nicht mehr möglich ist, diese "human" per Hand zu exportieren und zusammenzufügen.
Ich habe schon auf verschiedenste weise versucht, diese mit einer for-Schleife der Art:
set p=1
for %%d in schluessel.lst do (
regedit.exe /E %%p.reg %%d
set /a p=%%p+1
)
in einzelne .reg dateien zu exportieren, die ich dann weiterverarbeiten kann.
Ich habe auch mit der Verzögerten Variablenerweiterung (cmd /V) experimentiert, aber es nicht hinbekommen.
Mir ist auch aufgefallen, dass nicht einmal die Datei 1.reg erstellt wird, obwohl der Befehl mehrfach erfolgreich mit der Datei 1.reg ausgeführt wird.
Könnt ihr mir weiterhelfen?
Gruß
Nils
Ich möchte per batch mehrere Tausend registry-Einträge von Programmen exportieren.
Ich habe es geschafft, diese Einträge mit einigen Tricks in eine Liste dieser Form zu exportieren:
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\(Default)"
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\ProxyStubClsid\(Default)"
"HKEY_CLASSES_ROOT\Interface\{083039C2-13F4-11D1-8B7E-0000F8754DA1}\TypeLib\Version"
Diese Registry-Einträge sind leider in so vielen verschiedenen Schlüsseln (>1000) verteilt, dass es nicht mehr möglich ist, diese "human" per Hand zu exportieren und zusammenzufügen.
Ich habe schon auf verschiedenste weise versucht, diese mit einer for-Schleife der Art:
set p=1
for %%d in schluessel.lst do (
regedit.exe /E %%p.reg %%d
set /a p=%%p+1
)
in einzelne .reg dateien zu exportieren, die ich dann weiterverarbeiten kann.
Ich habe auch mit der Verzögerten Variablenerweiterung (cmd /V) experimentiert, aber es nicht hinbekommen.
Mir ist auch aufgefallen, dass nicht einmal die Datei 1.reg erstellt wird, obwohl der Befehl mehrfach erfolgreich mit der Datei 1.reg ausgeführt wird.
Könnt ihr mir weiterhelfen?
Gruß
Nils
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77009
Url: https://administrator.de/contentid/77009
Ausgedruckt am: 20.11.2024 um 06:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Nils,
zunächst verstehe ich erst einmal nicht, warum Du unbedingt die Registry per Batch
auslesen willst.
Der einzige Grund könnte meines Erachtens ein nicht mehr richtig funktionierendes
WINDOWS System (Startprobleme oder ähnliches sein).
Im Normalfall gibt es eine recht simple Lösung.
Man geht in die Windows Registry und exportirt den Schlüssel INTERFACE in eine
entsprechende Datei INTERFACE.REG.
Diese Datei kann dann in eine Datei INTERFACE.TXT umbenannt werden.
Diese Datei müßte dann mit anderen Tools bearbeitet werden, um die Einträge wie gewünscht
zu separieren.
Am einfachsten wäre es da sicherlich sich ein kleines Programm zu schreiben, dass die Datei
INTERFACE.TXT einliest und die Einträge prüft und danach in die gewünschten separaten
Dateien schreibt.
Sonst fällt mir dazu keine Lösung ein.
MfG
MCP-LPIC2
zunächst verstehe ich erst einmal nicht, warum Du unbedingt die Registry per Batch
auslesen willst.
Der einzige Grund könnte meines Erachtens ein nicht mehr richtig funktionierendes
WINDOWS System (Startprobleme oder ähnliches sein).
Im Normalfall gibt es eine recht simple Lösung.
Man geht in die Windows Registry und exportirt den Schlüssel INTERFACE in eine
entsprechende Datei INTERFACE.REG.
Diese Datei kann dann in eine Datei INTERFACE.TXT umbenannt werden.
Diese Datei müßte dann mit anderen Tools bearbeitet werden, um die Einträge wie gewünscht
zu separieren.
Am einfachsten wäre es da sicherlich sich ein kleines Programm zu schreiben, dass die Datei
INTERFACE.TXT einliest und die Einträge prüft und danach in die gewünschten separaten
Dateien schreibt.
Sonst fällt mir dazu keine Lösung ein.
MfG
MCP-LPIC2
Hallo Nachtexpress und willkommen im Forum!
Da Du anscheinend wirklich > 1000 .reg-Dateien erzeugen willst, könntest Du es so versuchen:
Zur Sicherheit vielleicht erst einmal mit einer gekürzten "schluessel.lst" testen ...
Grüße
bastla
Da Du anscheinend wirklich > 1000 .reg-Dateien erzeugen willst, könntest Du es so versuchen:
@echo off & setlocal
set /a p=10001
for /f "delims=" %%d in (schluessel.lst) do call :ProcessLine "%%~d"
goto :eof
:ProcessLine
regedit.exe /E %p:~-4%.reg %1
set /a p+=1
Zur Sicherheit vielleicht erst einmal mit einer gekürzten "schluessel.lst" testen ...
Grüße
bastla