Zeichenfolge in der Registry per .cmd-Script löschen?
Hallo
ich beschäftige mich erst seit kurzen mit dem schreiben von *.cmd bzw. *.bat-Dateien und finde das sie ein nützliches Werkzeug zum organisieren und verwalten eines PCs sind.
Ich habe ein kleines *.cmd-Script welches mir in der Windows-Registry (Windows XP SP 2) bestimmte Zeichenfolgen, nicht den Schlüssel, löschen soll. Wenn ich aber dieses Script starte, werden außer den Zeichenfolgen auch der dazugehörige Schlüssel gelöscht. Zur Änderung des Schlüssels benutze ich den Befehl reg delete.
Könnt ihr mir bitte helfen und einen Tip geben, wie man es hin bekommt das nur die bestimmten Zeichenfolgen und nicht der dazu gehörige Schlüssel gelöscht wird.
Vielen Dank für eure Hilfe
IchWeissNicht
ich beschäftige mich erst seit kurzen mit dem schreiben von *.cmd bzw. *.bat-Dateien und finde das sie ein nützliches Werkzeug zum organisieren und verwalten eines PCs sind.
Ich habe ein kleines *.cmd-Script welches mir in der Windows-Registry (Windows XP SP 2) bestimmte Zeichenfolgen, nicht den Schlüssel, löschen soll. Wenn ich aber dieses Script starte, werden außer den Zeichenfolgen auch der dazugehörige Schlüssel gelöscht. Zur Änderung des Schlüssels benutze ich den Befehl reg delete.
Könnt ihr mir bitte helfen und einen Tip geben, wie man es hin bekommt das nur die bestimmten Zeichenfolgen und nicht der dazu gehörige Schlüssel gelöscht wird.
Vielen Dank für eure Hilfe
IchWeissNicht
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71527
Url: https://administrator.de/contentid/71527
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Moin IchWeissnicht,
ich hab mal eben am CMD-Prompt den schematischen Ablauf nachgeturnt, der auch bei Dir gegeben sein müsste.
Sieht so aus [Zeilen zum Eingeben beginnen mit dem Promptzeichen ">"]:
Eine ähnliche Sequenz - also erst alle Werte auslesen und diese verwenden für eine "Reg Delete" Verarbeitung - kannst Du in einem Batch nachbauen.
Ändern musst Du nur dein %key% und jeweils zwei Prozentzeichen vo den Zählvariablen statt einer am CMD-Prompt.
Gruß
Biber
ich hab mal eben am CMD-Prompt den schematischen Ablauf nachgeturnt, der auch bei Dir gegeben sein müsste.
Sieht so aus [Zeilen zum Eingeben beginnen mit dem Promptzeichen ">"]:
>set key=HKCU\Software\Demo
>for /L %i in (12, 1, 19) do @reg add %key% /v test%i /t REG_SZ /d "Wert für test%i"
## ein paar Spielwerte definieren für "HKCU\Software\Demo"
## und abfragen...
>reg query "%key%"
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Demo
test12 REG_SZ Wert für test12
test13 REG_SZ Wert für test13
test14 REG_SZ Wert für test14
test15 REG_SZ Wert für test15
test16 REG_SZ Wert für test16
test17 REG_SZ Wert für test17
test18 REG_SZ Wert für test18
test19 REG_SZ Wert für test19
> for /f %i in ('reg query "%key%"^|find /i "test"') do @reg delete "%key% /v %i /f
## nu is alles wieder wech, was mit "test" anfing unterhalb des Schlüssels
>reg query "%key%"
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Demo
##nur der Schlüssel selbst ist noch da
> reg delete "%key" /f
## jetzt nicht mehr
Eine ähnliche Sequenz - also erst alle Werte auslesen und diese verwenden für eine "Reg Delete" Verarbeitung - kannst Du in einem Batch nachbauen.
Ändern musst Du nur dein %key% und jeweils zwei Prozentzeichen vo den Zählvariablen statt einer am CMD-Prompt.
Gruß
Biber