  program : ACAUPD.EXE
  purpose : Update Archive File Catalog
  version : 3.1
  date    : Apr 15, 1999
  target  : PC-DOS or MS-DOS
  author  : J R Ferguson

  Contents
  --------
    1. Introduction
    2. Updating a catalog
    3. Deleting entries from a catalog
    4. Checking the data file
    5. Command syntax summary
    6. The format of the data file
    7. The format of the archive catalog file


  1. Introduction
  ---------------

  ACAUPD  (Archive  CAtalog  UPDate) will allow you to build and maintain a
  catalog of archives files created with PAK, ARJ,  ZIP  etc,  storing  for
  each  archive  file its name and the name, extension, size, date and time
  of all its file members. The catalog is stored in text format.

  There are two important restrictions:
  - Within an archive file catalog, the names of the archive files must  be
    unique.  No  drive  or  directory  path information is stored, only the
    filename and extension. It is possible however to  maintain  more  than
    one archive file catalog (for instance a separate catalog for backups).
  - Archive  files that include path information for their member files are
    not supported.

  To  install  the program, you copy the files ACAUPD.EXE and ACAUPD.DAT to
  the same directory, preferably one that is on your DOS  path.  ACAUPD.DAT
  contains  information  about  the listing formats that ACAUPD.EXE uses to
  update the catalog. You may want to add your own entries to this file.

  The following formats are currently supported:

    name     release    member listing command
    ----     -------    ----------------------
    ARJ      2.21       ARJ L ArcName.ext
    ARJ      2.41       ARJ L ArcName.ext
    ARJ      2.50       ARJ L ArcName.ext
    LBRLST   1.0        LBRLST ArcName.ext
    LHA      2.13       LHA L ArcName.ext
    PAK      2.51       PAK L ArcName.ext
                        PAK V ArcName.ext
    PKARC    3.5        PKARC V ArcName.ext
    PKXARC   3.5        PKXARC -V ArcName.ext
    PKPAK    3.61       PKPAK -V ArcName.ext
    PKUNPAK  3.61       PKUNPAK -V ArcName.ext
    PKZIP    2.04g      PKZIP -V ArcName.ext
    PKZIP    2.50       PKZIP -V ArcName.ext
    PKUNZIP  2.04g      PKUNZIP -V ArcName.ext
    PKUNZIP  2.50       PKUNZIP -V ArcName.ext
    RAR      1.55       RAR L -c- ArcName.ext
    RAR      2.00       RAR L -c- ArcName.ext
    UNRAR    1.05	UNRAR L -c- ArcName.ext
    UNRAR    2.00	UNRAR L -c- ArcName.ext

  With ARJ, the environment variable ARJ_SW is supposed to have been set to
  a non-blank value. As this will cause an extra  line  in  the  file  list
  before  the  archive  filename,  the ARJ listing format is not recognized
  when ARJ_SW is not set. This can easily be changed by  editing  the  file
  ACAUPD.DAT.


  2. Updating a catalog
  ---------------------

  Command : listcommand | ACAUPD [acafile]

    where : listcommand = Archive member listing command (see table above).
            acafile     = Archive file catalog. Default is C:\MASTER.ACA.

  Remarks :
  - Input must contain a full archive member listing. Archive filenames are
    considered to be unique within <acafile>. Entries in  <acafile>  having
    the same archive name and extension are deleted.
  - Output  is  first sent to an temporary disk file with the same filename
    as <acafile> and an extension of '.$$$', or '.$$1' if <acafile> has  an
    extension  of  '.$$$'.  After  successfull update, the old <acafile> is
    deleted, and the temporary file is renamed to <acafile>.
  - If <acafile> does not exist, ACAUPD will create a new one.

  Examples:
    PKZIP -V A:FOO.ZIP |ACAUPD        Update  C:\MASTER.ACA  with a listing
                                      of the file members in A:FOO.ZIP.
    ARJ L A:FOO.ARJ |ACAUPD TEST.ARJ  Update TEST.ACA with a listing of the
                                      file members in A:FOO.ARJ.



  3. Deleting entries from a catalog
  ----------------------------------

  Command : ACAUPD [acafile] /Darchivemask
       or : ACAUPD [acafile] /D archivemask

    where : acafile     = Archive file catalog. Default is C:\MASTER.ACA.
            archivemask = archive filename (mask) specifying which  entries
                          to delete. Wildcards * and ? allowed.

  Examples:
    ACAUPD /DFOO.ZIP                  Delete the entry for archive  FOO.ZIP
                                      from C:\MASTER.ACA.
    ACAUPD TEST.ARJ /D FOO.*          Delete   all   entries   FOO.*  (like
                                      FOO.ARJ, FOO.PAK, FOO.ZIP  etc)  from
                                      the archive catalog TEST.ARJ.
    ACAUPD /D FOO.* TEST.ARJ          Same  as  above.  The  /D  option may
                                      precede or follow the archive catalog
                                      name.


  4. Checking the data file
  -------------------------

  Command : ACAUPD /C

  This will open the file ACAUPD.DAT, which  has  to  reside  in  the  same
  directory  as  ACAUPD.EXE, and check all its entries for completeness and
  correct syntax. It is recommended you run this command  after  adding  or
  changing an entry in the data file.


  5. Command syntax summary
  -------------------------

  Command : ACAUPD /H [>destination]

  This command will display a short command syntax summary to  the  screen,
  or to the specified destination (DOS device or filename).

  Examples:
    ACAUPD /H       Send help info to the screen.
    ACAUPD /H >PRN  Send help info to the printer.


  6. The format of the data file
  ------------------------------

  The datafile ACAUPD.DAT contains all  neccessary  information  about  the
  format  of  the  archive  listings  used  as  input  to the ACAUPD update
  command. It may contain comment lines having a '*' character in column 1.
  Each listing format is described in an entry consisting of several lines.
  The entries are separated by one or more empty lines.
  
  For each entry, the items listed below must be  present.  Several  items
  may  be concatenated on one line, separated by a comma. The maxumum line
  length is 255 characters.

     Lister    The title string echoed by ACAUPD for this  listing  format.
               Quoted string, max length 40 characters
     IdnRow    Text row (0..255) where the identification string starts.
     IdnCol    Text column (0..255) where the identification starts. 
     IdnTxt    Quoted text string, identifying the format listing type. Max
               length 8 characters  (normally  the  lister  program  name).
               Comparision is not case sensitive.
     VerRow    Text row (0..255) where the version string starts.
     VerCol    Text column (0..255) where the version string starts.
     VerTxt    Quoted text string, indentifying the lister program version.
               Max length 8 characters. Comparision is not case sensitive.
     SkpTxt    Lines that have this text starting at SkpCol are skipped.
               Max length 8 characters. Comparision is not case sensitive.
     SkpCol    Column in which the SkpTxt string starts (0..255).
     ArcRow    Text row where the archive file name (with or without  drive
               and path information) starts, not including SkpTxt lines.
     ArcCol    Text column where the archive file name starts (0..255).
     MemCol    Text column where the member file names start (0..255).
     LenCol    Text columm where the member file sizes start (0..255).
     DatCol    Text column where the member file dates start (0..255).
     DatFmt    Format of the member file dates. Possible values are:
                 NoDat : no date information
                 DMY   : dd-mm-yy
                 MDY   : mm-dd-yy
                 YMD   : yy-mm-dd
                 DMY4  : dd-mm-yyyy
                 MDY4  : mm-dd-yyyy
                 Y4MD  : yyyy-mm-dd
     TimCol    Text column where the member file times start (0..255).
     TimFmt    Format of the member file times. Possible values are:
                 NoTim : no time information
                 HM24  : hh:mm, 24 hour notation
                 HM12  : hh:mmA[M] or hh:mmP[M], 12 hour notation
     BegStp    Quoted string (max 255 caracters), found at the start of the
               line preceding the member file list.
     EndStp    Quoted string (max 255 caracters), found at the start of the
               line following the member file list.

     Example 1:
        Lister='ARJ v2.41'
        IdnRow=01, IdnCol=01, IdnTxt='ARJ '
        VerRow=01, VerCol=05, VerTxt='2.41 '
        ArcRow=07, ArcCol=21
        MemCol=01
        LenCol=17
        DatCol=42, DatFmt=YMD
        TimCol=51, TimFmt=HM24
        BegStp='------------ ---------- ---------- ----- --------'
        EndStp='------------ ---------- ---------- -----'

     Example 2:
        Lister='PKUNZIP v2.50'
        IdnRow=02, IdnCol=01, IdnTxt='PKUNZIP '
        VerRow=02, VerCol=52, VerTxt='2.50'
        SkpCol=01, SkpTxt=' ';
        ArcRow=07, ArcCol=16
        MemCol=65
        LenCol=01
        DatCol=31, DatFmt=DMY
        TimCol=43, TimFmt=HM24
        BegStp=' ------  ------   ----- -----'
        EndStp=' ------          ------  ---'

     In example 2,  the SkpTxt string marks lines that report on conditions
     on memory, depending on the system environment.


  7. The format of the archive catalog file
  -----------------------------------------

  Each archive file entry starts with a line having a colon ":"  in  column
  1, followed by the archive filename in the format "filename.ext".
  Immediately  Following  the  archive  filename  each  file  member in the
  archive is listed on a separate line, having the format:

     filename ext nnn.nnn.nnn yyyy-mm-dd hh:mm
        where: filename   = file name
               ext        = extension
               n.nnn.nnn  = file size in bytes
               yyyy-mm-dd = file date last changed
               hh:mm      = file time last changed (24 hour notation)
        
  The  catalog  file  is  ordered  on  member  filename+ext  within archive
  filename.

  Example:
     :EDITV.ARJ
     EDITV    INC         354 1994-05-12 11:10
     EDITV    PAS       9.285 1994-05-12 14:06
     :EDW.ARJ
     EDW      CPP       6.702 1994-05-08 14:49
     EDW      H           196 1994-05-08 10:13
     EDW      PRJ       6.883 1994-05-08 15:01
     EDW      RC        6.686 1994-05-08 14:47
