1 UNZIP
    UnZip is used to extract files compressed and packaged by  Zip  (see
    HELP ZIP for information on ZIP).

    For a brief help on Zip and Unzip, run each without  specifying  any
    parameters  on  the command line, or specify the -h flag (but not in
    UnZip's Zipinfo mode).

    UNZIP will list, test, or extract from a ZIP archive.  ZIP  archives
    are  commonly found on MS-DOS systems; a VMS version of ZIP can also
    be found here.

    Archive member extraction is implied by the absence of the  -c,  -p,
    -t,  -l, -v or -z options.  All archive members are processed unless
    a filespec is provided to specify a subset of the  archive  members.
    Format:

     UNZIP [-cfhlptuvxz[ajnoqCLMVX]] file[.zip] [list] [-x xlist] [-d out_dir]
2 Parameters

file[.zip]

    File specification for the ZIP archive(s) with  optional  wildcards.
    UnZip  will perform actions specified for every zipfile matching the
    specification.  Default file specification is SYS$DISK:[].ZIP.  Note
    that  self-extracting ZIP files are supported; just specify the .EXE
    suffix yourself.

[list]

    An optional list of archive members to be processed; if no  list  is
    given,  all  archive members are processed.  Expressions may be used
    to match  multiple  members.   Expressions  should  be  enclosed  in
    double-quotes  to prevent interpretation by DCL.  Multiple filenames
    should be separated by blanks.  Each file specification  is  similar
    to a Unix egrep expression and may contain:

         *       matches a sequence of 0 or more characters
         ?       matches exactly 1 character
         [...]   matches any single character found inside the brackets;
                 ranges are specified by a beginning character,
                 a hyphen, and an ending character.  If a '!' or '^'
                 immediately follows the left bracket, then any character
                 not in the given range is matched.


[-x xlist]

    An optional list of archive members to be excluded from  processing.
    The xlist overrides any files included in the normal list.

[-d out_dir]

    Optional directory specification to be used as target root directory
    for  files  to  be  extracted.   Directory  should  be  specified in
    "[.foo]" format rather than "foo.dir" or "foo/" format.
2 Options
    The default action of UnZip is to extract all zipfile entries.   The
    following options and modifiers can be provided:

       -Z   ZipInfo mode
       -c   extract files to SYS$OUTPUT (terminal)
       -f   freshen existing files (replace if newer); create none
       -h   show brief help screen and exit quietly
       -l   list archive files (short format)
       -p   extract files to SYS$OUTPUT; no informational messages
       -t   test archive files
       -u   update existing files; create new ones if needed
       -v   list archive files (verbose format)
       -z   display only the archive comment

     MODIFIERS
       -a   extract text files in standard VMS text file format
       -aa  extract all files as text
       -b   auto-extract only binary files in VMS fixed 512-byte record format
       -bb  extract all files as binary in VMS fixed 512-byte record format
       -j   junk paths (don't recreate archive's directory structure)
       -n   never overwrite existing files; don't prompt
       -o   OK to overwrite files without prompting
       -q   perform operations quietly (-qq => even quieter)
       -C   match filenames case-insensitively
       -L   convert filenames to lowercase if created under DOS, VMS, etc.
       -M   feed screen output through built-in "more" pager
       -P<password> supply decryption password on the command line (insecure!)
       -V   retain (VMS) file version numbers
       -X   restore owner/protection info (may require privileges)

    Note that uppercase options (-C, -L, -M, -P,  -V  and  -X)  must  be
    specified in quotes.  For example:

        unzip "-VX" -a zipfile

    The output conversion options -b and -a may be combined  to  perform
    binary  conversions  on  binary  files  and  text conversion on text
    files.  But note:  For compatibility with  implementation  on  other
    systems,  -b  cancels  any -a option; to get the intended result, -a
    must be specified AFTER -b.  And, in combination, "text" recognition
    takes precedence; this means that -bb has the same effect as -b, and
    -aa overrides binary conversion for ALL files.

    Please note that using the "-P<password>" option is higly  insecure,
    the  plaintext password may be seen by others.  For this reason (and
    because  of  lack  of  space),  the  "-P<password>"  option  is  not
    advertised on UnZip's online help screen.
2 Exit_Codes
    On VMS, UnZip's UNIX style exit values are mapped  into  proper  VMS
    status codes:

       1                               (success)  normal exit,
       (0x7fff0000 + 16*UnZip_errnum)  -W- warnings
       (0x7fff0002 + 16*UnZip_errnum)  -E- normal errors
       (0x7fff0004 + 16*UnZip_errnum)  -F- fatal errors

    The UnZip error level (or exit code)  approximates  the  exit  codes
    defined by PKWARE and takes on the following values:

      VMS       UnZip    Type of error
      severity  errcode
        -         0      normal; no errors or warnings detected.

        W         1      one or more warning errors were encountered,
                         but processing completed  successfully  any-
                         way.   This  includes  zipfiles where one or
                         more files was skipped  due  to  unsupported
                         compression  method  or  encryption  with an
                         unknown password.

        E         2      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         3      a severe error in  the  zipfile  format  was
                         detected.   Processing probably failed imme-
                         diately.

        F         4      unzip was unable to allocate memory for  one
                         or  more  buffers during program initializa-
                         tion.

        F         5      unzip  was  unable  to  allocate  memory  or
                         unable  to  obtain a tty to read the decryp-
                         tion password(s).

        F         6      unzip was unable to allocate  memory  during
                         decompression to disk.

        F         7      unzip  was  unable to allocate memory during
                         in-memory decompression.

        F         8      [currently not used]

        E         9      the specified zipfiles were not found.

        E         10     invalid options were specified on  the  com-
                         mand line.

        E         11     no matching files were found.

        F         50     the disk is (or was) full during extraction.

        F         51     the end of the ZIP archive  was  encountered
                         prematurely.

        E         80     the user aborted unzip prematurely with con-
                         trol-C (or similar)

        E         81     no files were found due to unsupported  com-
                         pression  methods or unsupported decryption.
                         (If even one additional file is successfully
                         processed, however, the exit status is 1.)

        E         82     no  files  were  found due to bad decryption
                         password(s).  This is also the  exit  status
                         if  no files were found due to a combination
                         of unsupported  compression  and  bad  pass-
                         words.   As in the previous case, however, a
                         single successful file  will  result  in  an
                         exit status of 1 instead.)

    In addition, there is a  compilation  option  to  expand  upon  this
    behavior:   An  executable  compiled  with  the  option RETURN_CODES
    defined displays a human-readable  explanation  of  what  the  error
    status means.
2 Logical_Names
    UnZip allows to modify its default behaviour  by  specifying  option
    defaults   via  the  UNZIP_OPTS  logical  name.   For  example,  the
    following will cause UnZip to restore  owner/protection  information
    and perform all operations at quiet-level 1 by default:

        define UNZIP_OPTS "-qX"

    Note  that  the  quotation  marks  here  are  required  to  preserve
    lowercase  options  (opposite  of  the  command-line  behavior).  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 `-':

        unzip --ql zipfile
    or
        unzip -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.

    UNZIP_OPTS may be defined as a symbol rather than  a  logical  name,
    but if both are defined, the logical name takes precedence.
2 Authors
    Info-ZIP;  currently  maintained  by  Greg  Roelofs.   VMS   support
    maintained  by  Christian  Spieler  and  Hunter Goatley.  Originally
    based on a program by Samuel H.  Smith.

    VMS on-line help ported from UNZIP.TXT by Hunter Goatley.
