RegDelete alle Werte mit beinhaltetem Namen

  • Hallo zusammen,

    ich versuche ein Script zu schreiben welches mir folgendes macht:
    All Registry-Einträge löschen, die sich unter "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SharedDLLs" befinden und der Name mit "C:\Program Files\ACT\" beginnt.

    Mit Regdelete("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SharedDLLs", "C:\Program Files\ACT\*")
    hat es leider nicht funktioniert.
    Kann mir bitte jemand helfen?
    Danke!

  • Hallo habe folgendes probiert:

    [autoit]

    For $i = 1 To 1000000000
    Local $var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs", $i)
    If @error <> 0 Then ExitLoop
    $result = StringLeft($var, 20)
    If $result = "C:\Program Files\ACT" Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs", '"' & $var & '"')
    EndIf
    Next

    [/autoit]

    Er löscht auch einige Raus aber nicht alle, es bleiben sehr viele übrig.
    Mache ich was falsch?

    Gruß

  • Vielleicht bei RegDelete nur , $var) schreiben, ohne die Anführungszeichen?
    Ok, das sollte nun wirklich keinen Unterschied machen. Vielleicht hat ja jemand Anders eine Idee.

  • Wenn ich nach dem RegDelete einen Sleep von 1 Sekunde einbaue, dann funktioniert es.
    Es dauert aber fast 20 minuten, weil es sehr viele Einträge sind.
    Weiß jemand wie man das ganze etwas performanter machen kann?

    Danke!