Universeller Registry-Export per Batch

Ich möchte einen Teil der Registry per Batch-Datei so exportieren, dass sich die entstehende .reg-Datei unabhängig von der Windows-Version wieder importieren lässt. Auch dieser Export soll auf jedem Windows-System unverändert ablaufen. Das Problem ist, dass Windows XP beim Export ein anderes Dateiformat und Unicode-Zeichen benutzt. Kennen Sie eine Lösung?

vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Björn Hansen

Ich möchte einen Teil der Registry per Batch-Datei so exportieren, dass sich die entstehende .reg-Datei unabhängig von der Windows-Version wieder importieren lässt. Auch dieser Export soll auf jedem Windows-System unverändert ablaufen. Das Problem ist, dass Windows XP beim Export ein anderes Dateiformat und Unicode-Zeichen benutzt. Kennen Sie eine Lösung?

Die Regedit-Versionen von Windows NT, 2000 und XP erzeugen .reg-Dateien des alten Formats, wenn man sie mit der Kommandozeilenoption /a aufruft. Unter Windows 9x braucht regedit dazu den Schalter /e. Ein weiterer Unterschied ist, dass unter den älteren Windows-Versionen die Batch-Bearbeitung erst weitergeht, wenn der Export abgeschlossen ist, unter den neueren sofort, also bevor die Datei vollständig ist. Eine Batch-Datei, die unabhängig von der Windows-Version den Bereich HKEY_CLASSES_ROOT exportiert, sieht so aus:

set o=a
if %OS%.==. set o=e
start /w regedit /%o% hcr.reg HKEY_CLASSES_ROOT
set o=

Anhand des Inhalts der Variable %OS% lässt sich zwischen den beiden Gruppen von Windows-Systemen unterscheiden. (je) (ha)