sati99
Goto Top

Batch - reg - mehrere Schlüssel ohne vollständig bekannte Bezeichnung löschen

Hallo Leute,

ich suche eine Lösung für mein folgendes Problem, kann mir dabei jemand bitte helfen?

in der Registry sind im Uninstall noch Schlüssel mehrere nicht mehr existieren Programm vorhanden - diese stammen von der Installation eines Programmes mit unterschiedlichen Versionen.
z.B. "ProgrammA V1.0.0" und "ProgrammA V1.1.2" und "ProgrammA V1.2.1" und so weiter (ProgrammA steht hier exemplarisch für den immer gleichen Programmnamen)

Ich möchte mit reg delete alle diese Schlüssel mit dessen Untereinträge (Keys) löschen.

Mit
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProgrammA V1.0.0" /f
funktioniert dies auch.

Aber da ich im Vorhinein nicht alle Schlüsselnamen kenne, also alle unterschiedlichen Versionsnummern, hatte ich gedacht, das ich den immer gleichbleibenden Programmnamen ProgrammA mit einem * (kommend aus dem DOS) erweitern kann, also so:
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProgrammA*" /f
Aber dies funktioniert nicht.

Ich denke dies müße man mit einer for Schleife lösen - aber wie?

Content-ID: 233567

Url: https://administrator.de/contentid/233567

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

sati99
sati99 25.03.2014 um 10:11:44 Uhr
Goto Top
Hallo,

ich habe es selbst gelöst - sollte es jemanden interessieren:

FOR /f "delims=" %%f IN ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /f "ProgrammA"') DO (reg delete "%%f" /f)

Bitteschön
Xaero1982
Xaero1982 25.03.2014 um 10:37:51 Uhr
Goto Top
Für solche spielerein benutz ich den regseeker. Da kann ich immerhin noch sagen welche Einträge tatsächlich gelöscht werden sollen um nicht versehentlich zu viel zu löschen.

Gruß