                  Search and Replace for Windows
                      Funduc Software, Inc.
             Copyright 1995-2020, All Rights Reserved
    http://www.searchandreplace.com     http://www.funduc.com

            Information On Search And Replace Scripts
            -----------------------------------------
                           Version 7.2+

Provided here is some information on Search and Replace scripts.
This contains a sample script (see below for cut lines) but this
file itself is NOT a sample script. Sample scripts installed with
the program. They all have the name extension, .srs.

This information is also available in the program F1 hlp.

Scroll to below the sample script in this file for information on
the [Options] section switches.

Notes:
------

* Scripts are saved as ASCII files. The safest way to create a
valid script is to use the Script dialog. As you gain experience
you can modify/create scripts with your text editor, perhaps using
an existing script as a model. Be sure to reload your script into
the Script dialog if you edit it with an external editor

* The simplest script possible is a text file consisting of a
search string(s) separated by blank lines or a search/replace
string(s) on adjacent lines. See the F1 hlp topic -Simple Script-
for more information.

* If you are running a script from the command line, add the /s
switch to launch Search and Replace and automatically initiate a
search. If your script involves a replace, use /r in your command
line to initiate the replace.

* Please note that if you specify linked script(s), follow-up
scripts operate in the same mode as the script that launches them.
For example, if the initial script is run as a search-only,
scripts linked from the initial script are also search-only. If
the initial script is run as a search-replace, linked scripts are
search-replace.

* The following tags must be at the beginning and end of the
script: [Script for Search and Replace] and [End of Search and
Replace Script].

* Comment text must immediately follow the [Script for Search and
Replace] section or after the closing ] bracket in the Search &/or
Replace strings.

* The order of section headings must follow that outlined below. 

* The [Options] section is not required. If you create a script
using a text editor and wish to set only one or a few options, it
is OK to enter only those specific options. Scripts saved via
Search and Replace will have all options saved with the script.

* Search strings can be entered on the next line after a [Search]
tag. To enter the Regular Expression, Case Sensitive off (or
Insensitive), Whole Word Only and Binary Mode, you must use the /x
/i /w /b flags respectively. The flags are case insensitive. This
is similar to the flags for Command Line Parameters.

* Replace strings can be entered on the next line after a
[Replace] tag. You can only use the /b flag for Binary Mode with
this tag since all other tags are specified on the Search field.

* Path and mask strings can be entered on the next line after a
[Path] tag. No flags can be used with this tag. The mask string
must be entered right after the path string and a \ character is
expected between them. For example c:\*.ini will use Path C:\ and
Mask *.ini. If you turn on the Search Subdirectories box on the
main window, all INI files on the C: drive would be processed.

* You can enter Search strings only, both Search and Replace
strings, Path and mask strings only, or all the fields in a
script. You can also override some of the values from the main
window by entering new Search and Replace strings or new Path and
Mask strings. 

* When a script is active, the Search, Replace, File Mask, and
Path fields in the Search and Replace main window will change to
reflect the script in use. For example, given a script named,
example.srs, which only has settings for a search string, the
Search field in the main window will change to read "Use Script
file: d:\example.srs". If example.srs also involved a replace
string and a file mask, the Replace and File Mask fields would
also change to read, "Use Script file: d:\example.srs".

* See the F1 Help for information on use of the %%today%% string
in the Min Date Filter= and/or Max Date Filter= switches for
manually edited scripts.

* SRDUMP.SRS File: To generate a script file that contains
your current program settings, do the following:

  1. Hold the CTRL key and click on the Scripts toolbar button 
     with your mouse. 
  2. The above will cause the script editor to open. Close the 
     editor. 
  3. A file named 'SRDUMP.SRS' is generated in the 'Program Work
     Path' by Step 1. Unless you have taken special steps for a
     network installation, this is generally the same file path
     that the Search and Replace executable is (sr32.exe) is
     installed in. C:\Tools\SR is the default program installation
     path.
  4. Use your file manager to copy/rename SRDUMP.SRS to another file. 
  
You can use SRDUMP.SRS as a template for developing other scripts.

--------- SAMPLE SCRIPT BEGINS ON NEXT LINE ---------------------
[Script for Search and Replace]

This is an example script using alternate program options for the
script. The text you are reading here is the script comment added
via the Advanced Script Dialog. Script comments always after the
'Script for Search and Replace' tag and before any other section
tags.

NOTE: The script sections demarked by [ ] and the [Options]
  switches must be entered in the order you see here. The first
  line must be the bracketed 'Script for Search and Replace' tag
  above. If you are not using Linked Scripts, the 'End of Search
  and Replace Script' tag is the last line. 
  
NOTE: It is not necessary to specify all the [Options] switches.
  For version 3.9 and above, switches within the [Options]
  section can be in any order. If a given Options switch is not
  specified in a script, the settings last in effect for the
  program will be used. In addition, the General Options settings
  that are included in the 'SRDUMP file' method above are ignored
  when the script is run in version 3.9+. For example, if your
  script specifies a 'Default Viewer', the program ignores this
  when you run the script. This preserves your default settings
  for interactive use.

NOTE: Use the 'SRDUMP file' to generate a script that contains the
  program options currently in effect. You can use SRDUMP.SRS as a
  template for developing other scripts manually.

NOTE: The iteration switch, Script Loop= , must be added by
  editing the script manually with your text editor. Script Loop=
  must be the last entry in the [Options] section. See F1 hlp
  topic - Scripts-Iteration Operator - for more info.

NOTE: See F1 hlp topic - Scripts-Linked Scripts - for information
  on how to chain scripts. For version 3.4+, follow-up scripts are
  specified below the [End of Search and Replace Script] line in a
  script. You must specify this manually, via your text editor.

[Expression]
E1 AND E2
[Options]
Search_subdir=0
Prompt_flag=0
One hit=0
Count Across Files=0
Replace Processing=0
Process Binary Files=1
Buffer Size=102400
Num Buffers To Process=0
Output_File=
Append to output file=0
Backup Path=D:\SRBACKUP
Write to Backup Dir=0
Keep file time stamp=0
Max Display Chars=128
Max Reg Expr=32767
Unzip Dir=C:\WINDOWS\TEMP
Show Progress Dialog=1
Before Hit=<
After Hit=>
Line Prefix=Line %3d -  
Binary Prefix=Offset 0x%6lx -
Show_Files=1
Show Files Without Hits=1
Display Replace String=1
Display File Stats=1
Show File Date and Size=0
Reverse Filters=0
Min Size Filter=0
Max Size Filter=0
Min Date Filter=%%today-1%% 
Max Date Filter=
Skip Files Mask=0
Ignore Attributes=55
Sort File Names=3
Sort Ascending=0
Script Loop=1
[Search]          This comment added to a search line.
Search string #1
[Replace /b]      This comment added to a replace line.
Replacement string #1
[Search /bix]
Search string #2
[Replace]
Replacement string #2
[Path]
c:\*.ini
[Path]
d:\work\*.txt
[End of Search and Replace Script]
c:\tools\sr\Linked Script1.srs
c:\tools\sr\Linked Script2.srs
--------- SAMPLE SCRIPT ENDS ON LINE ABOVE ---------------------

             Script [Expression] & [Options] Sections
             ----------------------------------------

Below is some detail on the items in the [Expression] and
[Options] section of a script. Use this as a guide for manual
edits.

It is not necessary to specify all switches in the [Options]
section. For example, a sole [Options] item could be Prompt_flag=0.

The order of the [Options] switches should be maintained to ensure
the program parses the input properly. For example, if you have
Show_Files= and Display Replace String= specified in your script,
do so in this order.


Script Item                 Description
----------------            --------------------------------------
[Expression]
E1 AND E2                   This section is optional. It is created 
                            via the Advanced Dialog in the script 
                            editor.

[Options] 
Search_subdir=              0 = No; 1 = Yes. If this switch is
                            not specified, the current program
                            setting is used.

Prompt_flag=                Corresponds to Replace Prompts in
                            Options-Replace. 0 = Prompt on All;
                            1 = Prompt on Each File; 2 = No
                            Prompts. Current program setting is
                            used if this is not specified.

One hit=                    Corresponds to 'Stop Processing After
                            First Hit In File' in Options-Search.
                            0 = No; 1 = Yes. Omit to use current
                            program setting.

Count Across Files=         This is for v 4.3+.  %n>> and %n<< 
                            counter replacements normally do not
                            reset with each file.  Specify Count
                            Across Files=1 to cause the program to
                            reset with each new file instead of
                            sequencing across files.  This switch
                            must be specified manually with a text
                            editor.

Replace Processing=         For ver 4.4+. See Special Case
                            Handling for more information. The
                            choices are:
                            Replace Processing=0 - No special effects. 
                              This is the default if the switch is 
                              omitted.
                            Replace Processing=1 - Capitalize words
                              during replaces.
                            Replace Processing=2 - Match Existing
                              letter case.
                              
Process Binary Files=       For version 5.0+. Search and Replace
                            normally searches any file that meets
                            the file mask/path and filter
                            criteria.  If you specify Process
                            Binary Files=0 the program will skip
                            any file it determines is 'binary'.
                            Note that depending your output
                            settings, the file(s) will still be
                            listed.  But they will be shown as
                            having no hits.
                            
Buffer Size=                The size of the memory block (in
                            bytes) used by the program when
                            reading files can be adjusted using
                            this switch.  For most uses we suggest
                            leaving this at default or omitting it
                            entirely.  The default is 102400.  The
                            lowest value permitted is Buffer Size=
                            1024.

                            Note: Buffer Size may have indirect
                            effect on Max Reg Expr= behavior.  If
                            Buffer Size= is set lower than Max Reg
                            Expr= by limiting the size of blocks
                            searched the effective Max Reg Expr=
                            is limited to Buffer Size.  The
                            default Max Reg Expr=32767 bytes.  If
                            your search requires this span as a
                            minimum, Buffer Size should be at
                            least Buffer Size=32767.

Num Buffers To Process=     Use this switch to limit the number of
                            blocks to process in each file.  The
                            default Num Buffers To Process=0 means
                            all blocks, or the entire file.  This
                            switch can be used in conjunction with
                            the Buffer Size= switch above.  For
                            example, to search only the first
                            26,000 bytes of all files specify:
                              Buffer Size=26000
                              Num Buffers To Process=1
                            
                            Note: If One hit=1 is specified, that
                            switch takes precedence if a hit is
                            found within the number of blocks
                            specified.

Output_File=                Options-Output. Omit or leave blank if 
                            none is to be used.

Append to output file=0     Corresponds to 'Append to Output File'
                            in Options-Output. 0 = No; 1 = Yes.
                            Omit to use current program setting.

Max Reg Expr=               Options-Search. Determines the maximum
                            number of characters spanned by
                            regular expression terms. The range is 
                            50 to 32767.
                            
Max Display Chars=          Options-Search. Determines the number
                            of characters to list on each hit line.
                            The range is 128 to 4069.

Backup Path=                Options-Replace. If this switch is
                            included but no file is specified,
                            no backup path will be used. If not
                            specified, the program default is
                            used.

Write to Backup Dir=        Options-Replace. 0 = No; 1 = Yes

Unzip Dir=                  Options-Search.

Keep file time stamp=       Corresponds to 'Do not change file
                            date/time' in Options-Replace. 0 = No;
                            1 = Yes. Omit to use current program
                            setting.

Show Progress Dialog=       Options-Search. Determines whether or 
                            not to display the progress meter.

Before Hit=                 Options-Output. 
After Hit=

Show_Files=                 Corresponds to 'Display First Hit
                            Line' in Options-Output. 0 = No; 1 =
                            Yes. Current program setting is used
                            if this is not specified.

Show Files Without Hits=    Corresponds to 'Display Files
                            Without Hits' in Options-Output. 0 =
                            No; 1 = Yes. Current program setting
                            is used if this is not specified.

Display Replace String=     Corresponds to 'Display Replace
                            String' in Options-Output. 0 = No; 1
                            = Yes. Current program setting is
                            used if this is not specified.

Display File Stats=         Corresponds to 'Display Number of
                            Hits in File' in Options-Output. 0 =
                            No; 1 = Yes. Current program setting
                            is used if this is not specified.

Show File Date and Size=    Corresponds to 'Display File Size and
                            Date/Time' in Options-Output. 0 =
                            No; 1 = Yes. Current program setting
                            is used if this is not specified.

Reverse Filters=0           Corresponds to the 'Reverse Filter'
                            checkbox in Options-Filter. 0= No; 1 =
                            Yes. Omit to use current program
                            setting. See Skip Files Mask and
                            Ignore Attributes below for more info.

Min Size Filter=            Options-Filter. Omit some or all to 
Max Size Filter=            use current program setting. You can 
Min Date Filter=            use a form of %%today%% for the Date
Max Date Filter=            switches.

Skip Files Mask=0           The default values for these two 
Ignore Attributes=55        settings are listed here. These values
                            are related to the Attributes
                            checkboxes in Options-Filters. The
                            number of possible values, in
                            conjunction with the Reverse Filters
                            switch above, is extensive and
                            difficult to explain. Most users will
                            not have any setting here. If you
                            do need a special setting,
                            experiment interactively with Options-
                            Filters dialog and some file searches.
                            When you are satisfied, generate an
                            'SRDUMP.SRS' file and copy the
                            switch settings into your production
                            script. You can also write us for help
                            at support@searchandreplace.com

Sort File Names=            Corresponds to the 'Sort Results By'
                            combo list in Options-Search. The
                            values are: 0 = Unsorted, 
                            1 = File Name, 2 = File Extension, 
                            3 = File Date/Time, 4 = File Size, 
                            5 = File Path. Omit to use current 
                            program setting.

Sort Ascending=             Corresponds to the Sort Ascending
                            checkbox in Options-Search. 0 =
                            Descending, 1 = Ascending. Omit to use
                            current program setting.
                            
Line Prefix=                These two switches for for v 4.3+ only. 
Binary Prefix=              They are 'read-only' settings for users 
                            who create/edit scripts manually, with
                            a text editor.  If you save a script
                            with the script editor these switches
                            will be stripped out.

Script Loop=                Script Iteration Counter. This must be
                            entered manually. It must be the last
                            entry in the [Options] section. Also
                            see Script Repeat Action in the F1 Help 
                            form information on how to repeat specific 
                            search/replace strings. 
