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-Key: 233567

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

Printed on: April 19, 2024 at 21:04 o'clock

Member: sati99
sati99 Mar 25, 2014 at 09:11:44 (UTC)
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
Member: Xaero1982
Xaero1982 Mar 25, 2014 at 09:37:51 (UTC)
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ß