TextReplace plugin
From NSIS Wiki
Jump to navigationJump to search
Author: Instructor (talk, contrib) |
Links
Download v1.5:
Textreplace.zip (33 KB)
Discussion:
Forum thread
Description
Features:
- Fast search/replacement in text file
- Case sensitive/insensitive replacement
- Supports strings and pointers to the buffer
- If no changes possible, output file will be untouched
- Checks if input file is a binary file
Docs
Taken from the Readme.txt (TextReplace NSIS plugin v1.5)
Search in file
${textreplace::FindInFile} "[InputFile]" "[FindIt]" "[Options]" $var
- "[InputFile]" - Input file
- "[FindIt]" - String to find or pointer to the buffer if used option /PI=1
- "[Options]" - Search options
- /S=[0|1]
- /S=0 - Case insensitive (default)
- /S=1 - Case sensitive (faster)
- /PI=[0|1]
- /PI=0 - FindIt is a string (default)
- /PI=1 - FindIt is a pointer to the text buffer
- /S=[0|1]
- $var number of founded strings
- -3 ReplaceIt string is empty
- -4 can't open input file for reading
- -5 can't get file size of the input file
- -6 can't allocate buffer for input file text
- -7 can't read input file
- -8 input file is binary or wide character Unicode file
Replace in file
${textreplace::ReplaceInFile} "[InputFile]" "[OuputFile]" "[ReplaceIt]" "[ReplaceWith]" "[Options]" $var
- "[InputFile]" - Input file
- "[OutputFile]" - Output file, can be equal to InputFile
- "[ReplaceIt]" - String to replace or pointer to the buffer if used option /PI=1
- "[ReplaceWith]" - Replace with this string or pointer to the buffer if used option /PO=1
- "[Options]" - Replace options
- /S=[0|1]
- /S=0 - Case insensitive (default)
- /S=1 - Case sensitive (faster)
- /C=[1|0]
- /C=1 - Copy the file if no changes made (default)
- /C=0 - Don't copy the file if no changes made
- /AI=[1|0]
- /AI=1 - Copy attributes from the InputFile to OutputFile (default)
- /AI=0 - Don't copy attributes
- /AO=[0|1]
- /AO=0 - Don't change OutputFile attributes (error "-9" possible) (default)
- /AO=1 - Change OutputFile attributes to normal before writting
- /PI=[0|1]
- /PI=0 - ReplaceIt is a string (default)
- /PI=1 - ReplaceIt is a pointer to the text buffer
- /PO=[0|1]
- /PO=0 - ReplaceWith is a string (default)
- /PO=1 - ReplaceWith is a pointer to the text buffer
- /S=[0|1]
- $var number of replacements
- -1 ReplaceIt pointer is incorrect
- -2 ReplaceWith pointer is incorrect
- -3 ReplaceIt string is empty
- -4 can't open input file for reading
- -5 can't get file size of the input file
- -6 can't allocate buffer for input file text
- -7 can't read input file
- -8 input file is binary or wide character Unicode file
- -9 can't open output file for writting
- -10 can't allocate buffer for output file text
- -11 can't write to the output file
Put text file contents to the buffer
${textreplace::FillReadBuffer} "[File]" $var
- "[File]" - Input file
- $var pointer to the buffer
- -4 can't open input file for reading
- -5 can't get file size of the input file
- -6 can't allocate buffer for input file text
- -7 can't read input file
- -8 input file is binary or wide character Unicode file
Free buffer
${textreplace::FreeReadBuffer} "[Pointer]"
- "[Pointer]" - Pointer to the buffer
Unload plugin
${textreplace::Unload}