TextReplace plugin: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(Put the Readme.txt in the Wiki)
Line 16: Line 16:
*If no changes possible, output file will be untouched
*If no changes possible, output file will be untouched
*Checks if input file is a binary file
*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
$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
$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}


[[Category:Plugins]]
[[Category:Plugins]]

Revision as of 10:27, 9 November 2009

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

$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

$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}