Runs uCalc Transform in batch mode (see examples at bottom)

T  [/A] [/B] [/P] [/Q] [/S] [/CR | /LF | /CRLF] [/ENCODING:{name|codepage}]
   [/SD] [/I] [/TF:file] [/FILTER:pattern] [/REPLACE:pattern] [/WITH:pattern]
   transformfile inputfile [outputfile] [/SEND:data] [#comment]

/A     Appends to output file instead of overwriting it.
/B     Backs up output file before overwriting it (if it already exists).
/P     Previews changes instead of saving them into a file.
/Q     Quiet mode; does not ask if you want to overwrite existing output file.
/S     Saves stats to a file (whose name can be configured in Setup.cnf).
/SD    Searches subdirectories for matching input files as well.

An alternative syntax for the above parameters is to precede the letter with
+ instead of /.  A parameter can be negated by preceding the letter with a
- (minus sign).  For instance "-S" prevents the stats file from being saved.

/I         Specifies that the interactive app form should be loaded.
/TF:file   Explicitly specifies a transform name
/OUT:file  Explicitly specifies an output file
/FILTER    Specifies a filter pattern for use in place of a transform file.
/REPLACE   Specifies a replace pattern for use in place of a transform file.
/WITH      Specifies the replacement or format pattern for /FILTER or /REPLACE.

The /TF and /OUT parameters allow transform files to appear in any sequence in
the command line.  /TF combined with /I makes the file load as a transform
instead of ordinary file.  Multiple transforms can appear in the command line.
Also, each /TF parameter can specify files using wildcards and groups.  For
instance "/TF:*.Bas" or "/TF:*.c|*.cpp|*.h".

/CR    Saves with carriage return (\r, ASCII 13, hex D) as end-of-line marker.
/LF    Saves with line feed (\n, ASCII 10, hex A) as end-of-line marker.
/CRLF  Saves with CRLF (\r\n, ASCII 10:13 or hex A:D) as end-of-line marker.

/ENCODING:{name|codepage}
       Saves using encoding based on given name (string) or code page (number).

/SEND  This sends data to the SEND variable, which can be used by the
       current transform.  This is useful when you want to use the same
       transform but with slight variations for different files.

/VAR:name=value
This is similar to /SEND, but lets you send variables with any name.  You may
send multiple variables this way.  These variables are sent as strings.

transformfile   Name of file(s) containing transform patterns.  To select the
                transform patterns currently being edited in a separate GUI
                session of uCalc Transform, use @ in place of a file name.
inputfile       Name of file(s) containing text to be modified.
outputfile      Name of file in which modified text will be saved.  If this
                file is omitted, modifications are saved in inputfile.  If a
                directory is given instead of a file, the output goes to a
                file in that directory.
#               Everything after # at the end is ignored.

Preferred settings can be configured in Setup.cnf.  Parameters explicitly
invoked at the command line supersede those configured in Setup.cnf.
Parameters can be placed anywhere before, between, or after file names.  

To select multiple files for transformfile & inputfile, you may use wildcards.
Furthermore, multiple groups of files can be separated with the | character.
When using wildcards for transformfile, it's useful (though it's not required)
to choose a given file name for the OutputFile property within each transform.
In the absence of an output file, the input file is modified.

If ENCODING is omitted, the output file is saved with UTF-8 encoding without a
byte order mark (BOM).  A BOM is always inserted when an encoding is specified.

If inputfile & outputfile are omitted, then uCalc simply opens the file(s) for
editing.  To open multiple files in the current directory, use wildcards.


Examples
--------

T Change.uc  In.Txt  Out.Txt    # Modifies In.Txt & saves changes to Out.Txt
T Beautify.uc  Program.Bas      # Changes are saved directly in Program.Bas
T Modify.uc  *.c                # All files ending with .c are modified
T Modify.uc  *.c  \Temp         # Saves modified *.c files in Temp directory
T Log.uc  *.xml  Log.Txt  /A    # Changes to *.xml are appended to Log.Txt
T Web.uc  index.html /LF        # Saves file using LF (\n) instead of CRLF
T @  \temp\*.vb                 # *.vb modified based on current transform
T @  *.xml  /P                  # Preview of changes shown; no files modified
T @  Item.xml  /ENCODING:utf-8  # Saves with utf-8 encoding (including BOM)
T @  C:\ABC.Txt  /ENCODING:1252 # Saves using Windows-1252 encoding
T *.uc  test.c                  # Multiple changes to test.c (if OutputFile="")
T *.uc  Interface.Bas           # Saves to different files if OutputFile set
T *.uc Source.vb profile.txt /A # Transforms are appended to profile.txt
T ReadMe.Txt                    # Simply opens up ReadMe.Txt for editing
T *.Txt                         # Opens all .Txt files for editing
T "*.Bas|*.Txt"                 # Opens all .Bas and .Txt files for editing
T Change.uc "*.cpp|*.hpp|*.h"   # Transforms all .cpp, .hpp, and .h files
T "a.uc|b.uc|c.uc" Test.Txt /q  # Performs a.uc, b.uc, c.uc transforms on T.Txt
T Change.uc File.cpp /SEND:x64  # Variable SEND is set to x64 in Change.uc


Quick Filter/Replace Examples
-----------------------------

The following examples or for quick Filter or Replace operations.  These do not
require a transform file.  If one is supplied, then the command line patterns
are combined with those in the specified transform file:

T /Replace:this /With:that Test.Txt
T *.vb /Replace:"{@Start}" /With:"' Modified on {@Eval:TimeStamp('MM/dd/yy')}"
T Code.vb /Filter:"If {cond} Then" /With:"Condition: {cond}"
T *.Bas Comments.Txt /Filter:"' {Comment:'.*'}" /A /Q
T TF:ASCII.uc /in: /out:ASCII.Out


Multi-line example
------------------

You may have multiple Filter or Replace patterns by appending a ^ (caret) at
the end of each line, except for the last line.

T /Filter:"// {comment:'.*'}"  ^
  /Filter:"{q}{QuotedText}{q}" ^
  /Filter:"#define {def}" ^
  /In:MyFile.Txt ^
  /Out:Result.Txt

Search
------
A simple but useful batch file named ucFind.Bat makes it easy to perform
advanced searches.  Type ucFind /? for more details.