Seite 1 von 1

Zeilen in Textdatei ersetzen - konditionaler Aufruf

Verfasst: 06 Okt 2022, 09:03
von feltel
Ich steh grad etwas auf dem Schlauch. Ich will in einer Textdatei Textzeilen ersetzen, allerdings nur, wenn das Suchmuster existiert. Mit PatchTextFile kann ich ja die Datei editieren, aber wenn nichts dem Suchmuster entsprechendes gefunden wird, dann bleibt der Zeilencursor auf Zeile 1 stehen und die Ersetzung/Einfügung wird oben eingefügt. Übersehe ich was, oder kann ich PatchTextfile für so nicht einsetzen?

Code: Alles auswählen

[PatchTextFile_Disable_UpdateCheck]
FindLine_Containing '<add key="checkForNewerVersions" value="true" />'
DeleteTheLine
InsertLine '    <add key="checkForNewerVersions" value="false" />'

[PatchTextFile_Set_Locale]
FindLine_Containing '<add key="cultureName" value="en-US" />'
DeleteTheLine
InsertLine '    <add key="cultureName" value="de-DE" />'

[PatchTextFile_Enable_TLS13]
FindLine_Containing '<add key="enableTls13" value="false" />'
DeleteTheLine
InsertLine '    <add key="enableTls13" value="true" />'
und wenn ich die Sektionen dann so aufrufe:

PatchTextFile_Disable_UpdateCheck "%ProgramFiles32Dir%\CalDavSynchronizer\CalDavSynchronizer.dll.config"
PatchTextFile_Set_Locale "%ProgramFiles32Dir%\CalDavSynchronizer\CalDavSynchronizer.dll.config"
PatchTextFile_Enable_TLS13 "%ProgramFiles32Dir%\CalDavSynchronizer\CalDavSynchronizer.dll.config"

habe ich nach dem x-ten Aufruf entsprechend viele Zeilen oben in der Textdatei, die ich nicht brauchen kann.