ich würde gerne eine REG_MULTI_SZ Registry-Variable auslesen, bearbeiten (Zeilen entfernen) und wieder zurückschreiben.
Da mir auf Anhieb nichts einfacheres eingefallen ist, hab ich es wohl etwas umständlich gemacht. Ich schreibe die Werte mit "SaveValueToFile" in eine Textdatei, loope durch und prüfe ob ein bestimmter Pfad enthalten ist, und erzeuge aus den restlichen Zeilen ein zweites File. Dieses kann ich dann mit "GetMultiSZFromFile" zurück in die Registry schreiben (noch nicht im Script, sollte aber kein Problem sein).
Sieht dann in etwa so aus:
Code: Alles auswählen
DefVar $output$
DefVar $input$
DefVar $searchString$
DefVar $inputList$
DefStringList $strlist1$
DefStringList $strlist2$
Set $output$ = "%SCRIPTPATH%\output.txt"
Set $input$ = "%SCRIPTPATH%\input.txt"
Set $searchString$ = "VALUE"
Registry_PathPatch
Set $strlist1$ = loadTextFile($output$)
for $app1$ in $strlist1$ do Sub_searchString
Set $strlist2$ = splitString($inputList$,"::")
for $app2$ in $strlist2$ do PatchTextFile_input $input$
[Registry_PathPatch]
openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
SaveValueToFile "PendingFileRenameOperations" "$output$"
[Sub_searchString]
if not ("$app1$" = "")
if contains("$app1$",$searchString$)
else
set $inputList$ = $inputList$ + "$app1$" + "::"
endif
endif
[PatchTextFile_input]
AddLine "$app2$"
AddLine ""
SaveToFile "$input$"
Grüße!