

                             CVO Utilities


                   Copyright Notice and Software License

              **********************************************
              *                                            *
              *         This is  not free  software.       *
              *                                            *
              **********************************************

 This document, other accompanying written and disk-based notes and
 specifications, and all referenced and related program files, accompanying
 this document are copyrighted by CVO, a French corporation. The copyright
 owner hereby licenses you to: make as many copies of the software and
 documentation as you wish; give exact copies of the original to anyone; and
 distribute the software and documentation in its unmodified form via
 electronic means. There is no charge for any of the above.

 You are specifically prohibited from charging or requesting donations for any
 such copies, however made. Exceptions may be granted to organizations which
 charge a small fee for materials, handling, postage and general overhead. NO
 ORGANIZATION IS AUTHORIZED TO CHARGE ANY AMOUNT FOR DISTRIBUTION OF THE
 SOFTWARE OR DOCUMENTATION UNDER ANY OTHER CONDITIONS.


 This license allows you to use this software without charge for a period of
 30 days only.

 If you wish to continue using this software in all or in part, you must
 register, using the Register Form below, and paying the Registration Fee.
 Registration fee for this softawre is a one-time payment of $30 for use
 on one machine only.

 No copy of the software may be distributed or given away without this
 accompanying documentation; this notice must not be removed.





                                 Warranty

 There is no warranty of any kind associated with this software, and the
 copyright owner is not liable for damages of any kind. By using this software,
 you agree to this. Every effort has been made by the author to make this
 product bug-free. However, the nature of software development is that it is
 impossible to guarantee bug-free software.

 In the event a verifiable bug is found, the author's only obligation will be
 to make every attempt to repair the bug as soon as possible.




                                Order Form

                      CVO Utilities Registration Form


     Name:          ______________________________________

     Address:       ______________________________________

                    ______________________________________

     City:          ______________________________________

     State:         __________________________ Zip: ______

     Telephone:     ______________________________________


     Item                                      Quantity      Total
     --------------------------------------------------------------

     One-time fee for the first machine.........   1         $  30

     for multi-users only:
     $ 5 fee per machine using this software
     within the same organization...............

     --------------------------------------------------------------
     Total Due:                                           _________


     Payment thru:     VISA
                   or  check


     Preferred Disk Size:  3.5" ____  5.25" ____


     Mail Completed Form to:


                  DPTool Club
                  BP 745
                  59657 Villeneuve d'Asq
                  FRANCE



 ______________________________________________________________________________



                              A Set of Utilities,
              developped over the years, whenever the need arises,
                                  or a fancy.



 ______________________________________________________________________________
 attr
 ______________________________________________________________________________

 Usage:      attr [-flags ...] filespec filespec ...

 Finds all specified files (wildcards allowed) with archive bit set in the
 current directory.

  Flags:      -i  lists files with archive bit reset.
              -r  recursively searchs subdirectories.
              -c  displays absolute path.
              -n  displays only file names.
              -p  pauses every 20 lines.
              -h  or ?, displays a help screen
 ______________________________________________________________________________
 bakdel
 ______________________________________________________________________________

 Usage:       bakdel

 Deletes all .bak files from current and subdirectories. Pauses every 20 lines.

 ______________________________________________________________________________
 bckctl
 ______________________________________________________________________________

 Usage:       bckctl [u:]control.xxx

 Lists the content of a backup disk with path and file names.

 ______________________________________________________________________________
 catcmp
 ______________________________________________________________________________

 Usage:      catcmp first_directory second_directory

 Compares two dictories and displays in three columns: files exclusive to the
 first directory, files exclusive to the second directory and common files.

 Use Esc and arrows to move from one list to the other. Quit with Esc.

 ______________________________________________________________________________



 _____________________________________________________________________________
 catlin
 ______________________________________________________________________________

 Usage
             catlin [-x or -d] [-y -c] file file ...

 displays a list of selected files in alphabetical order.

 Flags:
           -c      displays the absolute path
           -y      chronological order

           -x      to select and display files (See Expose)
           -d      to select and erase files

 Catlin ? displays a help screen
 ______________________________________________________________________________
 catlist
 ______________________________________________________________________________


 Usage:      catlist [-flag...] filespec filespec ...

 Finds all specified files  (wildcards allowed) in the current directory.

  Flags       -r   recursively searchs subdirectories.
              -aN  displays only files with mode bit N (0-7). See chmod.
              -d   displays directories only.
              -c   displays absolute path.
              -n   displays only filenames.
              -p   pauses every 20 lines.
              -v   displays length, date and time.
              -o   computes disk occupation in bytes and clusters of
                   current drive.

 _____________________________________________________________________________
 catname
 ______________________________________________________________________________

 Usage:      catname filespec

 Displays a list of selected files (wildcards allowed) in alphabetical order.
 Then you can select any file and rename it. Catname is useful in renaming a
 file whose name is accidentally unacceptable for DOS.

 _____________________________________________________________________________
 catsort
 ______________________________________________________________________________

  Usage:       catsort

 Sorts the directory in alphabetical order. For safety reasons, it can take a
 while on a big directory and it does not sort root.

 _____________________________________________________________________________
 chkdt
 ______________________________________________________________________________

 Usage:       chkdt  dummy_arg
              chkdt  [-i]

 With a dummy arg, chkdt displays the system date as an unsigned number. (See
 xdate)

 Without arg, chkdt waits for key entry of an unsigned date and returns 0 if
 this date is greater than, or equal to, system date. Otherwise it returns the
 difference (up to 255).

 Flag -I reverses the test.

 Chkdt is useful in testing that system date is acceptable. For instance:

 1. Create a file DATE.TST as follows:

                  c:
                  cd \
                  echo 65534 >date.tst

 2. add to your autoexec.bat:


         @chkdt <date.tst
         @if errorlevel 1 goto DATE_ERROR
         @goto DATE_END

         :DATE_ERROR
         @echo Either System Date or Battery seems out of order
         @echo Check date and time now
         DATE
         TIME

         :DATE_END
         @chkdt dummy >c:\date.tst

 3. restart system twice.


 Chkdt is useful also to see if somebody makes backups regularly:

 First have a .bat file like:

                @backup c:\appl\*.* a: /s
                @chkdt dummy >c:\appl.tst

 then add to your autoexec.bat:

                @chkdt -i <c:\appl.tst
                @if errorlevel 3 goto _MISSING_BACKUP
                @goto _REGULAR_BACKUP

                :_MISSING_BACKUP
                @echo No APPL backup done since 3 or more days, you lazy !
                :_REGULAR_BACKUP

 _____________________________________________________________________________
 chmod
 _____________________________________________________________________________

 Usage:       chmod  file_name  acces_mode

 Changes the acces mode to

              0       no qualification
              1       read only
              2       hidden
              3       (read only, hidden)
              4       system
              5       (read only, system)
              6       (hidden, system)
              7       (read only, hidden, system)

 ______________________________________________________________________________
 columns
 ______________________________________________________________________________

 Usage:
           Columns lines chars n_tab tab1 tab2 .... <file

              lines:          number of lines
                              (paper height less your top margin)
              chars:          number of char columns on your paper
              n_tab:          number of tabs
              tab1, tab2...   each printed column first char

  Example:
               columns 60 150 2 0 75 <doc >prn

 would print doc file in two columns of 60 lines on a 150 chars wide paper.
 First column would start at 0, second column at 75. Assuming the printer has
 been set up to 11 inch paper and 12cpi, you would obtain two parallel pages.

 Number of tabs is limited only by the number of characters acceptable on a
 command line.

 ______________________________________________________________________________
 concat.c
 ______________________________________________________________________________

 Usage:    concat [-a or -b] [-d or -w] [-q] destination file1 file2...

 Appends file1, file2 etc. to destination.
 Wildcards are allowed in the file(x) names.

 Flags:
               -d         deletes source files without warning
               -w         deletes source files after YN prompt
                          default is NO delete
               -q         dont display progress

               -a         all files are ascii
               -b         all files are binary
                          DEFAULT is binary


 With -a flag, end-of-file mark will be removed. Otherwise, all files are
 assumed to be binary. However the program would eventually find out text
 files and request confirmation.

 NOTES: as compared to many of similar programs, concat has an advantage and a
 drawback:

  1. Naming the destination file in the list of source files DOES NOT destroy
     destination file.

  2. Dont forget the -a flag if you concat text files. If you forget it,
     the end-of-file mark (hexa 1A) will not be removed and a part of
     destination file may not be readable. If you have made this mistake
     EX1A utility can repair your file.

 ______________________________________________________________________________
 c_print
 ______________________________________________________________________________

 Usage:  c_print  file_name  record  description  destin

 translates a fixed length record text file to a binary file.

      file_name is the name of a text file,
      record is the length of each record (CRLF include)

      description is similar to a(0)6u(26)5f(6)8
      where:

               (n)        is the data offset within the record

               A(..)n     n ascii characters
               I(..)n     an integer to be printed into n columns
               U(..)n     an unsigned integer
               L(..)n     a long integer
               F(..)n     a float
               D(..)n     a double
               C(..)n     a double * 100
               Y(..)      a date (DD MM YY)
               X(..)n     insert n binary zeros

      destin is the name of the binary file.

 ______________________________________________________________________________
 cpyext
 ______________________________________________________________________________

 Usage:    cpyext   file_1 record_length_1    file_2 record_length_2


 Copies file_1 to file_2, record by record. If length_2 is less than length_1,
 each record is truncated. Otherwise each record is padded with trailing
 binary zeros.

 ______________________________________________________________________________
 delfdate
 ______________________________________________________________________________

 Usage
         delfdate [-d -p] days files...

 deletes specified files if 'days' old as compared to system date. Wildcard
 are allowed, even in directory names.

 Flags:
            -d  deletes the directory if empty
            -p  requires confirmation before deleting

 Example:
            delfdate -p  90  b:\cl\fct.*\*.tmp

 ______________________________________________________________________________
 dirdel
 ______________________________________________________________________________

 Usage:   dirdel

 Displays name and removes subdirectories if empty.
 ______________________________________________________________________________
 dprint
 ______________________________________________________________________________

 Usage:  dprint  file_name  [>output]
         where   file_name is the name of a parameter file.

 Dprint formats a binary file to standard output, a file or a printer.

          Parameter file contains for instance:

   F filename                          the name of the binary file
   L 26                                its record length
   D a(0)6u(6)5y(8)d(10)+12.2x(0)12    first line description of the output
   D x(0)6x(0)5x(0)8x(0)12d(18)+12.2   second line description
   O -g                                a flag
   O -p66.5                            another flag

 Except for D'lines, parms order is immaterial. Max.D: 10 lines

 D lines describe the input and its formatting, like:
                a(0)6u(26)5f(6)+8.2d(20)10.2

             (x)        is the data offset within the record

            A(x)n       n ascii characters
            I(x)n,U(x)  prints an Integer (Unsigned) into n columns
            L(x)n       a long integer
            F(x)n.m     prints a float into n col. including . and m decimals
            D(x)n.m     a double
            C(x)n.m     a double which will be divided by 100

            Y(x)        a numerical date MM DD YY
            X(0)n       a dummy variable to be replaced by n blanks.

            + (like I(5)+4 or D(9)+10.2) summs the variable. See -a below

 Flags:
         -sSTRING   uses STRING as separator - default is a space,
         -sNULL     no separator
         -s124      uses | as separator ('<' and '>' are illegal)
         -pn.m      formfeeds m lines before nth line (default is nothing)
         -n         counts pages starting at 2 (valid only with -p)
         -cnn       counts lines starting at nn up to 65500
         -g         adorns with semigraphics (or *,|,-  if -s124 is active)
         -d         inserts blank lines
         -a         prints + noted variables summation.
         -ttexte    add 'texte' as a title to first page. Can be repeated.
         -fname     prints 'name' file on top of first page.
         -mnn       nn chars left margin
         -hn        1 = 10cpi, 2 = 12cpi, 3 = 16cpi.

 ______________________________________________________________________________
 easter
 ______________________________________________________________________________

 Usage:     easter
            easter YY
            easter YYYY

 Displays the full dates of Easter, Holy Thursday and Whitsunday.

 Default to current year. YYYY is valid from 1950 to 2049. YY default to 19xx
 (50-99) or to 20xx (0-49)

 ______________________________________________________________________________
 elimpr
 ______________________________________________________________________________

  Usage:      elimpr

 I dislike that PrintScreen key, don't you ? Elimpr is a very slim resident
 (26 bytes) which prevents its action.

 ______________________________________________________________________________
 esctst
 ______________________________________________________________________________

 Usage:    esctst  number letter ....

 Example:  esctst 27 C 66 >prn

 Esctst suppress blanks and prints args in binary form. Divert output to
 printer or file or the like.

 ______________________________________________________________________________
 ex1a
 ______________________________________________________________________________

 Usage:    ex1a file_name

 Ex1a strips embedded end-of-files characters 1Ah.

 ______________________________________________________________________________
 expose
 ______________________________________________________________________________

 Usage:    expose file_name


 Expose is a simply minded wiewer for ascii files. Printer commands imbedded
 in the file are transparent to expose. Virtually all IBM PROPRINTER sequences
 are made unvisible.
 ______________________________________________________________________________
 expr
 ______________________________________________________________________________

 Usage:        expr

 Expr is a calculator which can evaluate an infix expression. You can freely
 creates variables, by giving them a name in the left part of an expression.
 Use logically the parenthesis.

 Grammar:
 [variable =] expression
 evaluates the expression and set the variable if present.

 Example:
            (1 + sqrt 16) * 2

            r = (1 + sqrt 16) * 2
            Then r receives the value and can be used later on like this:

                result = r + 1

 Operators:  +  -  *  /  ^  (  )
             acos - asin - atan - cos - sin - tan - cosh - sinh -
             tanh - log - log10 - exp - ceil - fabs - floor - sqrt

 Constants:  PI, E , R2 or pi, e , r2
 ______________________________________________________________________________
 ext
 ______________________________________________________________________________

 Usage:      ext [dummy]

 Displays all extensions used in the current directory. With a dummy arg,
 recursively searchs subdirectories.
 ______________________________________________________________________________
 f13
 ______________________________________________________________________________

 Usage:       f13
              f13 YY
              f13 YYYY

 Let's be straight. There in this world careless people who dont believe in
 ghosts, who would start a new business on a Friday, or pat a black cat on the
 left side of the street.

 You and me know better and appreciate f13. Try it.

 ______________________________________________________________________________
 factor
 ______________________________________________________________________________

 Usage:     factor number

 Factors numbers between 1 and 2,497,525,535.

 ______________________________________________________________________________
 filesplit
 ______________________________________________________________________________

 Usage:
             filesplit file f1 f2  pattern_file

 copies file partially to f1 and f2 as defined in the pattern file.

 f1 will receive record whose keys compute to less or equal, f2 will receive
 records whose keys compute to greater than the test key described in the
 pattern file.

 The pattern file contains the record length, and, for each key, its type,
 length, offset and content.

 For instance:
                 226         ... record length
                 14          ascii, ascending, uper case or lower case
                 25          key length
                 0           its offset
                 2           unsigned short integer
                 2           its length
                 61          its offset

  Types are:

                         ascending           descending          length
  ascii                          0                    7       arbitrary
  signed short int               1                    8               2
  unsigned short int             2                    9               2
  long int                       3                   10               4
  float                          4                   11               4
  double                         5                   12               8
  numerical date                 6                   13               2
  ascii (uper or lower case)    14                   15       arbitrary


 ______________________________________________________________________________
 first
 ______________________________________________________________________________

 Usage:     first mon[day]
            first mon[day] YY MM
            first mon[day] YYYY MM

 Displays the full date of the first specified week day of current month or of
 specified month and year.

 YYYY is valid from 1950 to 2049. YY default to 19xx (50-99) or to 20xx (0-49)

 ______________________________________________________________________________
 fltgraph
 ______________________________________________________________________________

 Usage:        fltgraph   <input  >output

 fltgraph is a filter which replaces the semi-graphic characters by *, | or -.

 ______________________________________________________________________________
 freedisk
 ______________________________________________________________________________

 Usage:      freedisk

 Displays disk occupation, like:

 Disk C
     15512 clusters
         4 sectors / cluster
       512 bytes / sector
  31768576 bytes (total disk)
    950272 bytes (unused)

 ______________________________________________________________________________
 freemem
 ______________________________________________________________________________

 Usage:      freemem

 Displays memory occupation, like:

 total memory:      524288
 available memory:  433984

 ______________________________________________________________________________
 gcd
 ______________________________________________________________________________

 Usage:      gcd   number_1  number_2

 Computes the greatest common divisor of the two numbers.

 _____________________________________________________________________________
 home
 ______________________________________________________________________________

 Usage:       home

 Home is a customized menu which can be conveniently installed on the root
 directory.

 Assuming you have three applications, home would present:

                                  Ŀ
                                   Word processing 
                                   Invoicing       
                                   Graphics        
                                  

 Use the arrows to move in the list and Enter to select an item. (If they
 all have different initials, you can use the first letter instead).

 To customise Home, type:

                           home  home.cmd

 home.cmd (or any other suitable name) would contain:

          word processing
          c:
          .
          cd \wp
          invoicing
          c:
          .
          cd \inv
          graphics
          d:
          cd \grph

 Rules:

      1. two lines for each command: one for the displayed text, one for
         a DOS command or a program name.

      2. if more commands are needed, add a line with only a period and a line
         for another command.

      3. a command like  prog  would execute the program 'prog'. This
         should be avoided if prog is a very big program.

      4. in some configurations, you may find that your intended last command
         in a sequence 'falls' upon the next sequence. Then terminates the
         sequence by
                          .
                          exit
 ______________________________________________________________________________
 impcol
 ______________________________________________________________________________

 Usage:
               impcol [flags] file c1 c2 ....  [>output]
               impcol [flags] file @param      [>output]
               impcol config

 prints selected columns from a file.

 Example:
               impcol file_x 80 92 50 62

 would displays columns 80-92 and 50-62 of file_x, using some formatting rules:

 1. impcol compares resulting width to 80, 96 and 132 and eventually sets
 10cpi, 12cpi or 16cpi or fails with a warning.

 2. impcols returns to DOS the columns width it has selected (80, 96 ...)

 3. centers the text

 4. assumes a 72 lines paper (12') and a bottom margin of 5 lines.

 5. if semigraphic characters are used in source file, checks if the
    four angles are    .

 Flags:
          -tfile   insert file on top of output.
          -fN      numbers pages
          -g       replaces semi-graphics with *, - and |.
          -mN      suppress centering and set left margin at N.
          -hN      forces to   1 = 10 cpi, 2 = 12cpi et 3 = 16 cpi.
          -l       assumes a 132 columns printer (default is 80) and
                   uses 132, 160, 218.
          -lN1,N2,N3   forces three other printer width formats.
          -pm.c    m lines/page,  n lines bottom margin.

  Typing:
                 impcol  config

  you may change permanently the default parameters.


 Selected columns must be given by pairs. Their numbers is limited only by the
 DOS command args limit. If you need more column spec, place them in a
 separate file, params,  (each on a line) and use the syntax:

         impcol [flag] file_name @params

 ______________________________________________________________________________
 impess
 ______________________________________________________________________________

 Usage:         impess

 Impess is useful in testing printer adjustment before printing a large number
 of preprinted forms.

 You might for instance have a batch file like:

                      :PRN_TST
                      @impess  >prn
                      @xprompt  N  Y  "Another try  ? (Y/N) "
                      @if errorlevel 1 goto PRN_TST

 Impess would first be customized by typing:

                            impess config

 and filing parameters. Example:

                                  Ŀ                      Ŀ
 Characters per inch (10, 12, 16)  10       Lines per page    66  
                                                        
                  trial textlinecolumnĿ
                  third line ------X        3       10    
                  same--Y                   0       15    
                  fifth line ------------Z  5       0     
                                                          
                                                          
                                                          
                  

 Test stops at the first empty trial text. Enter absolute number for the first
 line, relative numbers afterwards (0 is same line). Column number is relative
 whithin same line, absolute otherwise.
 ______________________________________________________________________________
 isafact
 ______________________________________________________________________________

 Usage:   isafact  number

 Finds out if number is a factorial and displays its base.
 ______________________________________________________________________________
 keypack
 ______________________________________________________________________________

 Usage:
            keypack [-e] [-lN] [-m]  file_name   [>output]

 reads and formats a file made trough keyword.

 Flags:
           -e   only eliminates multi-entries.
           -lN  set text width to N characters (default is 79).
           -m   change keywords to uppercase.
 ______________________________________________________________________________
 keyword
 ______________________________________________________________________________

 Usage:

        keyword  [flags]  file  file ....

 read the listed files, display the text, stopping on each new word for the
 operator to decide to retain or discard it.

 Output file is a list of retained words following their page number.

 Flags:
        -kfile1     file for retained words; default: KEEP
        -dfile2     file for discarded words; default: DISPOSE
        -sfile3     output file; default: FKEY

        -fN         set the first page number to N
        -l          writes line numbers rather than page numbers
        -i          reverse process order (KEEP before DISPOSE)

 Page numbers are defined by formfeed character (decimal 12). If there is no
 formfeed, use the -l flag.

 KEEP and DISPOSE can be edited and reused. See keypack for eliminating
 multiple entries.

 ______________________________________________________________________________
 laser
 ______________________________________________________________________________

 Laser memorises and sends to printer command characters and control sequences.

 As a matter of fact, laser is useful with any kind of printers, not only
 lasers.

 Usage:

     1.    laser ?

           Displays a help screen.

     2.    laser config

           To entrer commands. The screen would display the like:

 Symbol Description Sequence
 10           10 c.p.i.                      18
 12           12 c.p.i.                      18,27,58
 16           16 c.p.i.                      18,15
 66           11 inches                      27,67,66

 Symbol is a short name (12 chars, no blank). Description shoud be self-
 explanatory. Sequence must conform to your printer manuel spec.


     3.    laser -x   laser.cmd

           Another way to enter commands. Laser.cmd is a text file, in the
           exemple:
                    10
                    10 c.p.i.
                    18
                    12
                    12 c.p.i.
                    18,27,58
                    16
                    16 c.p.i.
                    18,15
                    66
                    11 inches
                    27,67,66


     4.    laser

           Displays the column 'Description'.

           Use the arrows to move in the list, Enter to broadcast the
           command, ESC to quit.


     5.    laser  symbol  symbol ...

           broadcasts the commands corresponding to listed symbols.
           Example:
                      laser 66 12


     6.    laser  -p  file_name  [>output]

           Laser works as a filter which translates printer commands
           imbedded in the file. Those commands must be quoted with tilde (~)
           like:

                ~12~~66~text.....
                ...~16~.......

 ______________________________________________________________________________
 last
 ______________________________________________________________________________

 Usage:     last mon[day]
            last mon[day] YY MM
            last mon[day] YYYY MM

 Displays the full date of the last specified week day of current month or of
 specified month and year.

 YYYY is valid from 1950 to 2049. YY default to 19xx (50-99) or to 20xx (0-49)

 ______________________________________________________________________________
 lcm   least common multiple
 ______________________________________________________________________________

 Usage:     lcm   number_1   number_2

 Computes the least common multiple of the two numbers.

 ______________________________________________________________________________
 litteral
 ______________________________________________________________________________

 Usage:    litteral number [units] [fracts]

 Displays full written form of a number.
 Example:
          litteral 1234.56
          litteral 1234.56 $
          litteral 1234.56 $ cts
 ______________________________________________________________________________
 modulo
 ______________________________________________________________________________

 Usage:     modulo number_1 number_2

 Displays the remainder or the division number_1 / number_2

 ______________________________________________________________________________
 mvdir
 ______________________________________________________________________________

 Usage:   mvdir  path_1\filename_1  path_2\filename2


 Moves filename_1 to the directory designated by path_2, changing its name in
 the process. Path_1 and path_2 must be on the same drive.

 ______________________________________________________________________________
 pgpr
 ______________________________________________________________________________

 Usage:     pgpr   file_name  page_1  page_2

 Prints one or several printer pages from a file. Pages are defined by
 formfeed charactere (decimal 12)

 ______________________________________________________________________________
 primes
 ______________________________________________________________________________

 Usage:       primes
              primes number

 Displays primes numbers less than 'number' (default to 10000)

 ______________________________________________________________________________
 removetab
 ______________________________________________________________________________

 Usage:
            removetab  [-e ou -nN] [dummy arg]

 reads standard input and write to standard output, replacing the tabs by an
 appropriate number of blanks.

 Flags:
          -e      to be used if the source file has been made with edlin
          -nN     N being the number (1-32) of blanks (default is 8)
          dummy arg displays a help screen.
 ______________________________________________________________________________
 split
 ______________________________________________________________________________

 Usage:
              split  infile  file1  file2  length [factor]

 copies infile  to file1 from 0 to length - 1
                to file2 from length to end of infile

 If factor is present, length is multiplicated by factor, allowing a record
 * length definition.

 One of file1 or file2 may be the NUL device.

 ______________________________________________________________________________
 strip
 ______________________________________________________________________________

 Usage:
               strip [-d] file_name [>output]

 Strips off control characters and escape sequences. Virtually all IBM
 PROPRINTER sequences are recognized.

 With -d flag, replaces formfeed by new line.

 ______________________________________________________________________________
 touch
 ______________________________________________________________________________

 Syntax:
              touch [-dMM/JJ/AA] [-hHH:MM:SS] file ...

 changes date and time of designated files.

 Without flags, uses the system date and time.

 Flags:
             -d     uses specified date
             -h     uses specified time

 ______________________________________________________________________________
 tstarg
 ______________________________________________________________________________

 Usage:        tstarg %1 %2 %3 ...

 Counts args and returns their numbers.

 Example:
               @tstarg %1 %2 %3 %4
               @if error_level 4 ...
               @if error_level 3 ...
               ....

 ______________________________________________________________________________
 tstempty
 ______________________________________________________________________________

 Usage:       tstempty    file_name

 Example:
              @tstempty   \dir1\file1
              @if errorlevel 2 ...
              @if errorlevel 1 ...

 tstempty returns:

              2  if file_name is empty
              1  if file_name does not exist
              0  otherwise

 ______________________________________________________________________________
 ucopy
 ______________________________________________________________________________

 Usage:
              ucopy   file_name  record_length   drive:

 Example:
              ucopy   manual    512   a:


 Copies big files to several removable disks. (copy back from ucopy disks can
 be made with 'copy ' for the first and 'concat' for the others).

 During copying, ucopy totaly deletes destination disk. (the last ucopy disk
 should not be used for another ucopy)

 Ucopy labels disks ucopy_001 etc.

 Record_length is used to round up each disk to a integer number of records.
 Ucopy checks record_length for consistency and stops if there is an error.

 However, if record_length is 512, no check is made. Use 512 to copy files
 with no fixed record definition.

 ______________________________________________________________________________
 where
 ______________________________________________________________________________

 Usage:         where  filespec

 Looks for specified files (wildcards allowed) in the current directory and
 its subdirectories.
 ______________________________________________________________________________
 xdate
 ______________________________________________________________________________

 Usage:         xdate

 Shows the numerical parameters of a date (between 1/1/1901 and 6/3/2080):


       dateD/PlpywkD/Ylast Ylast Mthis MĿ
       03 16 92333130  Monday   11 76    33237   33297   33328
       endendend

 and a command bar
                           Ŀ
                            Date   Period day   End 
                           

 to select another date or another day-of-the-period.

 ______________________________________________________________________________
 xdel
 ______________________________________________________________________________

 Usage:
           xdel [-q  -r -d] file ...

 deletes specified files in the current directory after a Yes/No prompt.

 Flags:
         -q    requests global confirmation once,
                   instead of individual prompts.
         -r    recursively deletes files in the subdirectories.
         -d    removes subdirectories if empty.

 ______________________________________________________________________________
 xfind
 ______________________________________________________________________________

 Usage:      xfind  filespec [anywhere]


 Finds all specified files (wildcards allowed) in the current directory and
 its sub-directories.

 With the 'anywhere' clause, searchs the entire disk.

 If no wildcard has been used, indicates the most recent version and prompts
 to update others, one at a time.

 If no wildcard has been used and two or more files are identical, prompts to
 delete all but one, one at a time.

 ______________________________________________________________________________
 xprint
 ______________________________________________________________________________

 Usage:    same as print ( >prn )

 xprint takes care of presence or absence of IBM LAN and emit a simple print
 or a net print ... prn, as appropriate.

 ______________________________________________________________________________
 xprompt
 ______________________________________________________________________________

 Usage:     xprompt   template_1   template_2   message

 Example:   @xprompt  black   white    "Is your car black or white ? "
            @if errorlevel 1 ....

 Displays the message and waits for key entry, which must be one of the
 templates, upper or lower case. Returns 0 or 1 accordingly.

 ______________________________________________________________________________
