1 ZIP_CLI
   Zip is a compression and file packaging utility  for  Unix,  MSDOS,
   OS/2,  and  VMS.   It  is  analogous  to  a  combination of tar and
   compress and is compatible with PKZIP (Phil  Katz  ZIP)  for  MSDOS
   systems.

   There is a companion to Zip called  UnZip  (of  course).   Zip  and
   UnZip  can work with files produced by PKZIP under MSDOS, and PKZIP
   and PKUNZIP can work with files produced by Zip.

   Zip 2.2 is compatible with PKZIP  2.04.   Note  that  PKUNZIP  1.10
   cannot  extract  files produced by PKZIP 2.04 or zip 2.2.  You must
   use PKZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.

   For a brief help on Zip and Unzip, run each without specifying  any
   parameters on the command line.  If you want to get the help screen
   describing the alternate UNIX style  command  interface,  you  must
   specify the -h option.

   Zip puts one or more compressed files  into  a  single  "zip  file"
   along with information about the files, including the name, path if
   requested, date and  time  last  modified,  protection,  and  check
   information  to verify the fidelity of each entry.  Zip can pack an
   entire directory structure in a zip file  with  a  single  command.
   Compression  ratios  of  2:1 to 3:1 are common for text files.  Zip
   has has one compression method (deflation) and can also store files
   without  compression.   It  automatically chooses the better of the
   two for each file to be compressed.

   Zip is useful for packaging a set of files to send  to  someone  or
   for distribution; for archiving or backing up files; and for saving
   disk space by temporarily compressing unused files or directories.



     ZIP zipfile [file[,...]] [/qualifiers]

2 Parameters
 zipfile

      File specification for the ZIP archive.  Zip  will  perform  the
      requested  action  for every zipfile matching the specification.
      The default file specification is SYS$DISK:[].ZIP.

      Note that self-extracting ZIP files are supported; just  specify
      the .EXE suffix yourself.

 file

      An optional  comma-separated  list  of  files  to  be  added  or
      replaced  in  the  zipfile.  For unconditional add / replacement
      actions,  a  list  must  be  specified.   For   the   freshening
      operation,  all  archive  members are processed per default; the
      optional file list restricts processing to the specified archive
      members.   Expressions  may  be  used to match multiple members.
      For add/update operations, wildcard expressions are  interpreted
      in  VMS  wildcard  syntax to match external files.  In contrast,
      for  freshening/deletion  operation,  wildcard  expressions  are
      interpreted  in  UNIX  compatible  syntax  to match the internal
      names of archive members in the zipfile.

2 Qualifiers

/ADJUST_OFFSETS

   /ADJUST_OFFSETS

   Adjust internal offsets of the Zip archive members after some  data
   (e.g.   a  SFX  executable  stub) has been prepended to the archive
   file.

/APPEND

   /APPEND

   Try to work with the existing Zip archive.  This option is  ignored
   when any existing entry in the Zip archive gets updated or deleted.
   Without the /APPEND qualifier, Zip always  creates  a  backup  copy
   when   modifying   the  archive.   This  is  slower,  but  prevents
   corruption of the old archive in case of  a  fatal  problem  (power
   failures, program crash...).

/BATCH

   /BATCH[=listfile]

   Read list of files to  add/update  to  the  Zip  archive  from  the
   listfile.  The listfile defaults to SYS$INPUT.

/BEFORE

   /BEFORE=(VMS time specification)

   Only handle files that are older than the specified date and  time.
   The specified time is compared with the files' RMS creation time.

/COMMENT

   /COMMENT[=KEYWORD[,KEYWORD]]

   Add comments to the Zip archive.
         ZIP_FILE  Add/replace the multi-line archive comment. (default)
         FILES     Add file comment to each updated/added archive member.

   The Zip program prompts for each comment to be added; this requires
   Zip to be run in interactive mode.

   The one-line archive  member  comments  are  terminated  by  typing
   RETURN.   To skip a file comment, just type RETURN without entering
   any further characters.

   The zip archive comment may be multi-line.  The comment is ended by
   a line containing just a period, or by supplying a ^Z.

/DELETE

   /DELETE

   Delete entries from zip file.

/DIRNAMES

   /DIRNAMES (default) /NODIRNAMES

   Store directory entries in the archive.

/ENCRYPT

   /ENCRYPT[="password"]

   Encrypt added and updated archive entries.

   You may specify the password on the command line,  although  we  do
   not  recommend  it since THIS IS INSECURE.  Remember to enclose the
   password string with quotes, to  prevent  automatic  conversion  to
   upper case or misinterpretation of punctuation characters by DCL.

   When the  password  was  not  specified,  Zip  prompts  for  it  on
   SYS$COMMAND.   For typing the password, terminal echo is suspended.
   For added user security, the password prompt appears twice and  the
   two user inputs are checked for identity before using the password.

/EXCLUDE

   /EXCLUDE=(file[,...])

   A comma-separated list of files to exclude when deleting,  updating
   or  adding  files in the archive.  If multiple files are specified,
   the list should be included in parentheses.

/EXLIST

   /EXLIST=listfile

   The files matching the filename patterns listed in  "listfile"  are
   excluded  when  deleting,  updating or adding files in the archive.
   The "listfile" is a normal text  file  with  one  filename  pattern
   entry per line.  The name pattern entries are recognized exactly as
   found in "listfile",  including  leading,  embedding  and  trailing
   whitespace  or  most control characters (with exception of LineFeed
   and probably CarriageReturn).

/EXTRA_FIELDS

   /EXTRA_FIELDS (default) /NOEXTRA_FIELDS

   Allows inclusion  of  extra  file  attributes  information  in  the
   zipfile's   entry  headers.   Examples  are:   the  VMS  attributes
   (enabled by the /VMS qualifier), or  additional  GMT  time  stamps.
   These  GMT  time  stamps  are  quite useful when transporting a Zip
   archive world wide, but they  are  only  recognized  by  Info-ZIP's
   UnZip  version  5.20  and later, and take up some additional space.
   When /EXTRA_FIELDS is negated, the /VMS qualifier to request saving
   of the VMS RMS file attributes is ignored, too!

/FRESHEN

   /FRESHEN

   Freshen existing zipfile entries; replace if newer.  Does not cause
   any new files to be added to the archive.

/FULL_PATH

   /FULL_PATH (default) /NOFULL_PATH

   Directs Zip to store the directory part of the file names (relative
   to the current working directory) in the Zip archive.

/HELP

   /HELP

   Display Zip's help screen, including the version message.

/INCLUDE

   /INCLUDE=(file[,...])

   A comma-separated list of files to include when deleting,  updating
   or  adding  files in the archive.  If multiple files are specified,
   the list should be included in parentheses.

/INLIST

   /INLIST=listfile

   The files matching the filename patterns listed in  "listfile"  are
   included  when  deleting,  updating or adding files in the archive.
   The "listfile" is a normal text  file  with  one  filename  pattern
   entry per line.  The name pattern entries are recognized exactly as
   found in "listfile",  including  leading,  embedding  and  trailing
   whitespace  or  most control characters (with exception of LineFeed
   and probably CarriageReturn).

/JUNK

   /JUNK /NOJUNK (default)

   Junk the directory part of the file names for added entries (do not
   not save the directory structure).  The /JUNK qualifier is an alias
   for /NOFULL_PATH.

/KEEP_VERSION

   /KEEP_VERSION /NOKEEP_VERSION (default)

   Directs Zip to include the version number appendix  in  the  stored
   file names.  This allows to store multiple version of the same file
   in a single Zip archive.

   The normal behaviour of Zip without /KEEP_VERSION is  to  use  only
   the  most  recent  version  of  a  specified  file and strip of the
   version number from the stored file name.  This  behaviour  ensures
   better  compatibility  when  transfering  a  Zip archive to non VMS
   systems.

/LATEST

   /LATEST

   The archive's creation and modification time is set to  the  latest
   modification time of all archive members.

/LEVEL

   /LEVEL=number

   Specifies the compression level:
         0      Store
         1      Fastest compression (Defl:F)
         ...
         9      Best compression    (Defl:X)

   The default level is 6.

/LICENSE

   /LICENSE

   Displays the Zip license.

/MOVE

   /MOVE

   Move the specified files into the Zip archive.  Entries which  have
   been added (or freshened) to the zip file get removed from the file
   system.  If a directory is empty afterwards, it is also removed.

/PKZIP

   /PKZIP /NOPKZIP (default)

   Create PKZIP  compatible  archive  entries.   The  file  names  are
   truncated  and  converted to upper case to match the MSDOS 8+3 file
   name syntax.  Only the MSDOS compatible attributes are stored;  the
   file   owner's   write  permission  is  mapped  to  the  "readonly"
   attribute.  The archive entry is marked as being made  under  MSDOS
   regardless of the true host system of Zip.

/QUIET

   /QUIET

   Perform operations quietly.

/RECURSE

   /RECURSE[=KEYWORD] /NORECURSE (default)

   Directs Zip to recurse into subdirectories.  The optional  keywords
   recognized are:
         PATH      take patterns as full path specifiers (-r) (default)
         FILENAMES start from current dir;
                   only use filename part of file patterns (-R)
   The new FILENAMES optional keyword modifies the recursion algorithm
   to  be  (almost)  compatible  to  PKZIP's behaviour on subdirectory
   recursion.

   On VMS, this behaviour can be alternatively archived by  using  the
   "subdirectory  recursing  wildcard"  [...]  in  the "include files"
   parameter list.

/SINCE

   /SINCE=(VMS time specification)

   Only handle files that are newer than the specified date and  time.
   The specified time is compared with the files' RMS creation time.

/STORETYPES

   /STORETYPES=(.ext1,.ext2,...  )

   For files with the  specified  extensions,  Zip  does  not  try  to
   compress  the  data  but  stores  them  verbatim.   This  speeds up
   operation on files that have already been compressed  and  where  a
   second  compression  step  usually  does  not gain much space.  The
   default list of  extensions  where  compression  is  suppressed  is
   (.Z,.zip,.zoo,.arc,.arj).

   But  note:   when  maximum  level  of  compression   is   requested
   (/LEVEL=9),  the  STORETYPES  heuristic is not used.  In this case,
   Zip tries to compress ALL files.

/TEMP_PATH

   /TEMP_PATH=dirspec

   Specifies an alternate directory where Zip  creates  its  temporary
   files.   When this qualifier is not given, Zip attempts to write to
   the current working directory.

/TEST

   /TEST

   Test archive integrity.

/TRANSLATE_EOL

   /TRANSLATE_EOL[=KEYWORD]

   Selects conversion of the end-of-line markers in text  files.   The
   optional keywords recognized are:
         LF        convert LF -> CRLF (UNIX to DOS) (default)
         CRLF      convert CRLF -> LF, strip trailing CTRL-Z's (DOS to UNIX)

   This option should only be used with text files.  The second option
   CRLF  is  only useful when a DOS text file has been transfered to a
   VMS disk in stream (or stream_lf) format.

/UNSFX

   /UNSFX

   Strip any prepended data  from  the  Zip  archive,  for  example  a
   self-extracting executable stub.

/UPDATE

   /UPDATE

   Freshen existing archive entries; create new ones if needed.

/VERBOSE

   /VERBOSE[=MORE|DEBUG]

   Switch  on  verbose  messages.   This   includes   diagnostics   on
   discovered  oddities  in  the  zipfile's  structure, and a progress
   indicator during compression operation.

   When this qualifier is the only command line argument given, it has
   a special meaning.  In this case a screen of diagnostic information
   about the program version is displayed.  This display includes  the
   Zip  version number and release date, and it shows some information
   to determine when and how the executable  was  built  and  set  up.
   This  includes  info  on  the used compiler's name and version, the
   date of the build (if available), and some  optional  compile  time
   feature  flags.   Additionally,  the  contents  of  the environment
   variables (=logical names on VMS) that are read by Zip for  runtime
   configuration  are  shown.  This information is especially valuable
   when reporting problems or bugs.

/VMS

   /VMS

   Store VMS file attributes in Zip archive.
2 Authors
   Info-ZIP; currently maintained by Onno van der Linden.  VMS support
   maintained  by  Igor  Mandrichenko,  Christian  Spieler, and Hunter
   Goatley.  Originally based on a program by Samuel H.  Smith.

   VMS on-line help ported from Zip's  MANUAL  by  Christian  Spieler,
   using Hunter Goatley's work for UnZip.
2 Exit_Codes
   On VMS, Zip's UNIX style exit values are  mapped  into  proper  VMS
   status codes:
          1                                  (success)  normal exit,
          (0x7fff0000 + 16*Zip_error_level)  warnings
          (0x7fff0002 + 16*Zip_error_level)  normal errors
          (0x7fff0004 + 16*Zip_error_level)  fatal errors

   The Zip error level (or exit  code)  approximates  the  exit  codes
   defined by PKWARE and takes on the following values:
         VMS       Zip      Type of error
         severity  errcode
           -         0      normal; no errors or warnings detected.
           F         2      unexpected end of zip file.
           E         3      a generic error in the  zipfile  format  was
                            detected.   Processing  may  have  completed
                            successfully anyway;  some  broken  zipfiles
                            created by other archivers have simple work-
                            arounds.
           F         4      zip was unable to allocate memory for one or
                            more  buffers during program initialization.
           F         5      a severe error in  the  zipfile  format  was
                            detected.   Processing probably failed imme-
                            diately.
           E         6      entry too large to be split with zipsplit
           E         7      invalid comment format
           F         8      zip -T failed, or out of memory
           E         9      the user aborted zip prematurely  with  con-
                            trol-C (or similar)
           F         10     zip  encountered an error while using a temp
                            file
           F         11     read or seek error
           W         12     zip has nothing to do
           E         13     missing or empty zip file
           F         14     error writing to a file
           F         15     zip was unable to create a file for writing
           E         16     bad command line parameters
           E         18     zip could not open a specified file to read
2 Logical_Names
   Zip scans its process environment for the  logical  name  ZIP_OPTS,
   which  can be used to specify a string of default options to modify
   Zip's behaviour.  For the  syntax,  see  help  topic  UNIX_Options.
   With  the  exception  of  "-i"  and "-x", all recognized UNIX style
   options can be used within the ZIP_OPTS equivalence string.

   For example, the following will  cause  Zip  to  skip  directories,
   include   VMS  attribute  information  perform  all  operations  at
   quiet-level 1 by default:

         $ define ZIP_OPTS "-qDV"

   Note that  the  quotation  marks  here  are  required  to  preserve
   lowercase options (opposite of the command-line behavior).

   ZIP_OPTS may be defined as a symbol rather than a logical,  but  if
   both are defined, the logical is used.

   The  alternative  logical  name  ZIPOPT  (more   UNIX-like   naming
   convention) is recognized as well.  If both ZIPOPT and ZIP_OPTS are
   present (and do not equate to  whitespace  only),  the  content  of
   ZIPOPT takes precedence and ZIP_OPTS is ignored.
2 UNIX_Options
   The default action of Zip is to add or replace zipfile entries from
   list,  which  can  include  the  special name -@ to read names from
   SYS$INPUT.  The following  list  of  options  was  taken  from  the
   on-line  help  generated  when  Zip is run with the -h command-line
   option:

         -A   adjust self-extracting exe
         -b   use "path" for temp files
         -c   add one-line comments
         -d   delete entries in zipfile
         -D   do not add directory entries
         -e   encrypt
         -f   freshen: only changed files
         -F   fix zipfile (-FF try harder)
         -g   allow growing existing zipfile (unless updating or deleting)
         -h   show this help
         -i   include only names matching the following patterns
         -i@  include only names matching the patterns listed in "file"
         -j   junk (don't record) directory names
         -J   junk (remove) prepended (SFX) stub
         -k   simulate PKZIP made zipfile
         -l   translate end-of-lines (LF -> CRLF)
         -ll  translate end-of-lines (CRLF -> LF)
         -L   show software license
         -m   move into zipfile (delete files)
         -n   don't compress theses suffixes
         -o   make zipfile as old as latest entry
         -P   encrypt with specified "password"
         -q   quiet operation
         -r   recurse into subdirs, match against specified paths
         -R   recurse into subdirs of current dir, match filenames only
         -t   only do files after "mmddyyyy"
         -tt  only do files before "mmddyyyy"
         -T   test zip file integrity (calls unzip)
         -u   update: only changed or new files
         -v   verbose messages/print version info
         -V   save VMS file attributes
         -w   append the VMS version number to name stored in zip file
         -x   exclude names matching the following patterns
         -x@  exclude names matching the patterns listed in "file"
         -X   suppress storing of any extra file attributes
         -z   add zipfile comment
         -0   store only
         -1   compress faster
         -9   compress better
         -@   read list of files to process from SYS$INPUT

   Note that uppercase options such as -A, -D, -L, -T and -V  must  be
   specified in quotes.  For example:

         $ zip "-VD" -a zipfile

   To negate a default option on the command line,  add  one  or  more
   minus  signs  before  the option letter, in addition to the leading
   switch character `-':

         $ zip --ql zipfile

   or

         $ zip -l-q zipfile

   At present  it  is  not  possible  to  decrement  an  option  below
   zero--that is, more than a few minuses have no effect.  ===
