Supportnet / Forum / PC-Sonstiges
Batchdatei für Registrierung
Frage
Hi!
Hat einer von euch Erfahrung im Erstellen einer Batchdatei,
um bestimmte Registriereinträge
automatisch zu löschen?
Oder muss man eine .reg Datei
erzeugen, um bestimmte Einträge
zu löschen. Wenn ja, wie muss
man es einstellen? Es wird ja
wohl kaum mit dem Befehl del
Registrierungseintrag XY funktionieren
Antwort 1 von Sascha H.
Hat keiner eine Idee?
Antwort 2 von asok
Doch. Du kannst das am besten mit dem Windows Scripting Host lösen. Erstelle eine Datei mit der Endung .vbs, die etwa so aussieht:
Im Prinzip musst du nur noch den root key und das Array mit den Subkeys anpassen. Beachte dass subkeys, die nicht auf "\" enden, Werte sind. Reply oder mail, wenn du noch fragen hast.
Const ROOTKEY = "HKLM\SOFTWARE\Apple Computer, Inc.\QuickTime\"
subkeys = array("ActiveX\", "Installed MIME Types\", "Installed Plugins\", "InstallState")
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
For Each key In subkeys
WshShell.RegDelete ROOTKEY & key
Next
Im Prinzip musst du nur noch den root key und das Array mit den Subkeys anpassen. Beachte dass subkeys, die nicht auf "\" enden, Werte sind. Reply oder mail, wenn du noch fragen hast.
Antwort 3 von Sascha H.
Hi Asok!
Danke erst mal für Deine Hilfe.
Kennst Du eine alternative Möglichkeit, diverse Registriereinträge zu löschen, wie z.B. über eine .reg Datei? Kenne mich mit Visual Basic Scripts nicht so gut aus, darum wäre mir eine andere Methode lieber.
MfG, Sascha
Danke erst mal für Deine Hilfe.
Kennst Du eine alternative Möglichkeit, diverse Registriereinträge zu löschen, wie z.B. über eine .reg Datei? Kenne mich mit Visual Basic Scripts nicht so gut aus, darum wäre mir eine andere Methode lieber.
MfG, Sascha
Antwort 4 von asok
Soweit ich weiss, kann man via REG-Datei nur Schlüssel importieren, nicht aber löschen.
Das Skript oben ist eigentlich genau das, was du brauchst. Aber falls du dir bei den notwendigen Anpassungen nicht sicher bist, geht's auch anders. Nimm diese Skriptdatei und nenne sie bspw. delregk.vbs:
Diese Datei löscht den Schlüssel, den du als Argument angibst. Das Skript kannst du dann auch in einer Batchdatei benutzen:
Wenn dein Schlüssel Leerzeichen enthält, brauchst du die Anführungszeichen zwingend. Jetzt kannst du pro Batch-Aufruf einen Schlüssel löschen. Hilft dir das weiter?
Das Skript oben ist eigentlich genau das, was du brauchst. Aber falls du dir bei den notwendigen Anpassungen nicht sicher bist, geht's auch anders. Nimm diese Skriptdatei und nenne sie bspw. delregk.vbs:
' delregk.vbs
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.Count = 1 Then
WshShell.RegDelete WScript.Arguments(0)
End If
Diese Datei löscht den Schlüssel, den du als Argument angibst. Das Skript kannst du dann auch in einer Batchdatei benutzen:
REM * Batch-Datei
cscript.exe delregk.vbs "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\"
cscript.exe delregk.vbs "HKEY_CURRENT_USER\Was\auch\immer"
REM * ... usw.
Wenn dein Schlüssel Leerzeichen enthält, brauchst du die Anführungszeichen zwingend. Jetzt kannst du pro Batch-Aufruf einen Schlüssel löschen. Hilft dir das weiter?
Antwort 5 von Undertaker
Hi,
um einen Schlüssel mit seinem gesamten Inhalt zu löschen, brauchst Du dem Pfad nur ein Minus voran stellen:
Gruß
Undertaker
um einen Schlüssel mit seinem gesamten Inhalt zu löschen, brauchst Du dem Pfad nur ein Minus voran stellen:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Test]Gruß
Undertaker
Antwort 6 von Sascha H.
Hi!
Ich habe mal irgendwo gelesen, dass man das auch mit Hilfe der Reg Datei schaffen kann, wenn man nun vor den bestimmten Einträgen ein Minus setzt.
Also habe ich Dich jetzt richtig verstanden, dass dieses oben genannte Script "delregk.vbs" zum Löschen benutzen kann und in der Batchdatei einfach nur den Skriptnamen und dann den
entsprechenden Key eingeben muss?
Wie sieht das mit dem Verzeichnis für die Datei cscript.exe bzw. die delregk.vbs aus? Müssen die zwangsläufig im gleichen Verzeichnis wie die Batchdatei sein, oder kann man den Ordner dort angeben. z.B.
rem *datei.bat
c:\windows\cscriptordner\cscript.exe c:\vbsdatei\delregk.vbs "Schlüssel XY"
Ich habe mal irgendwo gelesen, dass man das auch mit Hilfe der Reg Datei schaffen kann, wenn man nun vor den bestimmten Einträgen ein Minus setzt.
Also habe ich Dich jetzt richtig verstanden, dass dieses oben genannte Script "delregk.vbs" zum Löschen benutzen kann und in der Batchdatei einfach nur den Skriptnamen und dann den
entsprechenden Key eingeben muss?
Wie sieht das mit dem Verzeichnis für die Datei cscript.exe bzw. die delregk.vbs aus? Müssen die zwangsläufig im gleichen Verzeichnis wie die Batchdatei sein, oder kann man den Ordner dort angeben. z.B.
rem *datei.bat
c:\windows\cscriptordner\cscript.exe c:\vbsdatei\delregk.vbs "Schlüssel XY"
Antwort 7 von Sascha H.
Hi Undertaker!
Habe erst zu spät gelesen, dass du das mit dem Minus schon vorgeschlagen hast.
Habe übrigens in einem anderen Forum eben besagten Trick mit dem Minus gefunden. Zitat:
Wenn du Schlüssel löschen willst, dann geht das relativ einfach:
REGEDIT4
[-HKEY_CLASSES_ROOT\XXYYZZ]
in eine Datei lösche.reg schreiben und diese mit der Registry zusammenführen (regedit /S lösche.reg) löscht den Schlüssel HKCR\XXYYZZ mitsamt Inhalt.
Für Werte gibt es auch so einen Trick, aber den finde ich jetzt leider nicht...
Habe erst zu spät gelesen, dass du das mit dem Minus schon vorgeschlagen hast.
Habe übrigens in einem anderen Forum eben besagten Trick mit dem Minus gefunden. Zitat:
Wenn du Schlüssel löschen willst, dann geht das relativ einfach:
REGEDIT4
[-HKEY_CLASSES_ROOT\XXYYZZ]
in eine Datei lösche.reg schreiben und diese mit der Registry zusammenführen (regedit /S lösche.reg) löscht den Schlüssel HKCR\XXYYZZ mitsamt Inhalt.
Für Werte gibt es auch so einen Trick, aber den finde ich jetzt leider nicht...
Antwort 8 von Undertaker
Hi,
für Werte einfach nach dem Gleichheitszeichen das Minus eintragen:
Gruß
Undertaker
für Werte einfach nach dem Gleichheitszeichen das Minus eintragen:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Test]
Test=-Gruß
Undertaker
Antwort 9 von asok
Zitat:
Wie sieht das mit dem Verzeichnis für die Datei cscript.exe bzw. die delregk.vbs aus? Müssen die zwangsläufig im gleichen Verzeichnis wie die Batchdatei sein, oder kann man den Ordner dort angeben. z.B.
Wie sieht das mit dem Verzeichnis für die Datei cscript.exe bzw. die delregk.vbs aus? Müssen die zwangsläufig im gleichen Verzeichnis wie die Batchdatei sein, oder kann man den Ordner dort angeben. z.B.
cscript.exe nicht, das VBS-File schon. Aber die Methode mit dem "-" ist einfacher, ich kannte die nur noch nicht.
Antwort 10 von Sascha H.
Dann möchte ich mich recht herzlich für die Hilfe von allen bedanken.
Werde es heute Abend mal ausprobieren.
MfG, Sascha
Werde es heute Abend mal ausprobieren.
MfG, Sascha

