Registry vergleichen (alt-neu), neue Schlüssel in txt-Datei schreiben
Hallo Leute,
ich stehe wieder einmal vor einem Batch-Problem, die Überschrift sagt eigentlich schon (fast) alles:
Ich benötige ein Batch, dass unter WinXP den Registry-Zweig HKLM\Software\Classes\CLSID vor und nach einer Aktion vergleicht und neu eingetragene Schlüssel in eine txt-Datei schreibt.
Ich habe zwar ein lauffähiges Batch zusammengeschrieben, aber dessen Ausführung braucht mit über drei Minuten doch sehr lange:
[vor der Aktion]
reg copy HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /f
[nach der Aktion]
reg compare HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /od >Unterschiede.txt
reg delete HKLM\Software\Classes\Backup /f
Wie gesagt: Läuft, braucht aber ewig und zeigt nebenbei nicht nur neue Schlüssel, sondern auch neue Werte an. Danach hab ich Folgendes probiert:
[vor der Aktion]
reg export HKLM\Software\Classes\CLSID vorher.reg
[nach der Aktion]
reg export HKLM\Software\Classes\CLSID nachher.reg
Und die beiden Dateien wollte ich dann vergleichen mit einem Schnipsel, den ich hier gefunden hab:
Weil ich nicht sicher bin, ob die Reihenfolge der vorher-nachher-Dateien stimmt, hab ich es auch umgekehrt probiert und auch mal die Endung in txt geändert - nix. Mit kleineren Testdateien ging es, aber die echten haben je 4,5 MB und wollen einfach nicht. Hat jemand eine Idee?
Danke und Gruß
Martin
ich stehe wieder einmal vor einem Batch-Problem, die Überschrift sagt eigentlich schon (fast) alles:
Ich benötige ein Batch, dass unter WinXP den Registry-Zweig HKLM\Software\Classes\CLSID vor und nach einer Aktion vergleicht und neu eingetragene Schlüssel in eine txt-Datei schreibt.
Ich habe zwar ein lauffähiges Batch zusammengeschrieben, aber dessen Ausführung braucht mit über drei Minuten doch sehr lange:
[vor der Aktion]
reg copy HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /f
[nach der Aktion]
reg compare HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /od >Unterschiede.txt
reg delete HKLM\Software\Classes\Backup /f
Wie gesagt: Läuft, braucht aber ewig und zeigt nebenbei nicht nur neue Schlüssel, sondern auch neue Werte an. Danach hab ich Folgendes probiert:
[vor der Aktion]
reg export HKLM\Software\Classes\CLSID vorher.reg
[nach der Aktion]
reg export HKLM\Software\Classes\CLSID nachher.reg
Und die beiden Dateien wollte ich dann vergleichen mit einem Schnipsel, den ich hier gefunden hab:
Weil ich nicht sicher bin, ob die Reihenfolge der vorher-nachher-Dateien stimmt, hab ich es auch umgekehrt probiert und auch mal die Endung in txt geändert - nix. Mit kleineren Testdateien ging es, aber die echten haben je 4,5 MB und wollen einfach nicht. Hat jemand eine Idee?
Danke und Gruß
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176366
Url: https://administrator.de/contentid/176366
Ausgedruckt am: 24.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Hi,
man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser abfragen.
Oder einfach die das gute alte qbasic.exe benutzen ( einfach reinkopieren).
Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.
Gruss
Holli
man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser abfragen.
Oder einfach die das gute alte qbasic.exe benutzen ( einfach reinkopieren).
Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.
Gruss
Holli
Moin,
die Idee ist gut, der Ansatz verbesserungswürdig.
Wenn du zwei dateien Zeilenweise mit findstr /c: vergleichst, dann würde sich was anderes, als die Schleife anbieten - schau mal nach findstr /? /F:
Unabhängig davon, wenn eine Datei 4.5 MB groß ist - dann wird das logischerweise ein paar minuten brauchen.
Von daher such mal nach Procmon.
Gruß
die Idee ist gut, der Ansatz verbesserungswürdig.
Wenn du zwei dateien Zeilenweise mit findstr /c: vergleichst, dann würde sich was anderes, als die Schleife anbieten - schau mal nach findstr /? /F:
Unabhängig davon, wenn eine Datei 4.5 MB groß ist - dann wird das logischerweise ein paar minuten brauchen.
Von daher such mal nach Procmon.
Gruß
Guten Morgen zusammen,
Markus
Zitat von @holli.zimmi:
man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser
abfragen.
...
Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux
probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.
diff könnte das richtige Tool auf einem Unix/Linux-Rechner sein.man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser
abfragen.
...
Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux
probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.
Markus