Delete lines from one line to another line inclusive
From NSIS Wiki
Jump to navigationJump to search
Author: Afrow UK (talk, contrib) |
Description
This function deletes lines from a line (including that line) to another line (also including that line)
Usage
Push "$EXEDIR\file.ext" ;file Push "start line$\r$\n" ;line to start deleting from Push "finish line$\r$\n" ;line to stop deleting at
The Function
Function RemoveAfterLine Exch $1 ;end string Exch Exch $2 ;begin string Exch 2 Exch $3 ;file Exch 2 Push $R0 Push $R1 Push $R2 Push $R3 GetTempFileName $R2 FileOpen $R1 $R2 w FileOpen $R0 $3 r ClearErrors FileRead $R0 $R3 IfErrors Done StrCmp $R3 $2 +3 FileWrite $R1 $R3 Goto -5 ClearErrors FileRead $R0 $R3 IfErrors Done StrCmp $R3 $1 +4 -3 FileRead $R0 $R3 IfErrors Done FileWrite $R1 $R3 ClearErrors Goto -4 Done: FileClose $R0 FileClose $R1 SetDetailsPrint none Delete $3 Rename $R2 $3 SetDetailsPrint both Pop $R3 Pop $R2 Pop $R1 Pop $R0 Pop $3 Pop $2 Pop $1 FunctionEnd
This function was created for Victor B. Gonzalez (vbgunz) after this topic. -Stu