Dec 232017
 
Latest version of Phil Katz's GREAT Pk-UnZipper. You MUST have this to unzip files downloaded from this BBS. PkZip and PkUnZip.
File PKZ204G.EXE from The Programmer’s Corner in
Category Recently Uploaded Files
Latest version of Phil Katz’s GREAT Pk-UnZipper. You MUST have this to unzip files downloaded from this BBS. PkZip and PkUnZip.
File Name File Size Zip Size Zip Type
README.DOC 741 410 deflated
SHAREWAR.DOC 573 332 deflated
WHATSNEW.204 2430 1140 deflated
V204G.NEW 10704 4071 deflated
HINTS.TXT 14109 5044 deflated
LICENSE.DOC 3707 1499 deflated
ORDER.DOC 3304 1505 deflated
ADDENDUM.DOC 19361 6543 deflated
MANUAL.DOC 202252 55529 deflated
AUTHVERI.FRM 2330 939 deflated
PKZIP.EXE 42166 41799 deflated
PKUNZIP.EXE 29378 29086 deflated
PKZIPFIX.EXE 7687 7603 deflated
ZIP2EXE.EXE 27319 26778 deflated
PKUNZJR.COM 2750 2491 deflated
OMBUDSMN.ASP 591 359 deflated

Download File PKZ204G.EXE Here

Contents of the README.DOC file




This diskette contains the file PKZ204g.EXE. Type

PKZ204g

followed by pressing the Enter key to create the program and
documentation files for PKUNZIP, PKZIP, and PKSFX version 2.04g
To print the documentation files after running PKZ204g, type

COPY *.DOC PRN
COPY *.NEW PRN
COPY *.204 PRN
COPY *.TXT PRN

following each line by the return key.


See the files V204G.NEW, WHATSNEW.204 and ADDENDUM.DOC for more
information about features and changes made in this version of
the software.

If you distribute PKUNZIP, PKZIP, and PKSFX to friends, associates,
or to a computer bulletin board system (BBS), please distribute the
file PKZ204g.EXE rather than the individual files for PKUNZIP, PKZIP
and PKSFX.



Contents of the MANUAL.DOC file




This diskette contains the file PKZ204g.EXE. Type

PKZ204g

followed by pressing the Enter key to create the program and
documentation files for PKUNZIP, PKZIP, and PKSFX version 2.04g
To print the documentation files after running PKZ204g, type

COPY *.DOC PRN
COPY *.NEW PRN
COPY *.204 PRN
COPY *.TXT PRN

following each line by the return key.


See the files V204G.NEW, WHATSNEW.204 and ADDENDUM.DOC for more
information about features and changes made in this version of
the software.

If you distribute PKUNZIP, PKZIP, and PKSFX to friends, associates,
or to a computer bulletin board system (BBS), please distribute the
file PKZ204g.EXE rather than the individual files for PKUNZIP, PKZIP
and PKSFX.



PKZIP 2

The next generation in compression software

*SHAREWARE MANUAL*









PKZIP
PKUNZIP
PKSFX
PKZIPFIX
PKUNZJR

PKWARE, Inc.
9025 N. Deerwood Drive
Brown Deer, WI 53223 USA

Phone (414) 354-8699
Fax (414) 354-8559
BBS (414) 354-8670


Copyright 1989-1993 PKWARE Inc. All Rights Reserved.

U.S. Patent No. 5,051,745

No part of this publication may be reproduced, transmitted,
transcribed, stored in a retrieval system, or translated into any other
language or computer language in whole or in part, in any form or
by any means, whether it be electronic, mechanical, magnetic,
optical, manual or otherwise, without prior written consent of PKWARE, Inc.

PKWARE, Inc. disclaims all warranties as to this software, whether express
or implied, including without limitation any implied warranties of
merchantability, fitness for a particular purpose, functionality, data
integrity or protection.

PKWARE, the PKWARE logo, PKZIP, PKUNZIP, and PKSFX are
registered trademarks of PKWARE, Inc.

StupenDOS is a trademark of Eclipse Technologies, Inc.

MS-DOS is a trademark of Microsoft Corporation.

Netware and Novell are registered trademarks of Novell, Inc.

Trademarks of other companies mentioned in this documentation appear for
identification purposes only and are the property of their respective
companies.

*** PLEASE NOTE ***
This is a condensed version of the manual provided with the registered
version of PKZIP. Some sections have been condensed or omitted in this
shareware version. Most notably, the tutorial had to be omitted.

See the ADDENDUM.DOC file for information about the benefits of registering
PKZIP.

CONTENTS


________________________________________________________________
Introduction 1

Product Support ......................................... 3

________________________________________________________________
Installation 5

Installing PKZIP On Your Hard Drive ..................... 5

The Addendum File .................................. 7

________________________________________________________________
Tutorial 8

Getting Started ......................................... 8

Simple PKZIP and PKUNZIP usage ......................... 10

Zipping a Single File ............................. 12

Zipping Multiple Files ............................ 14

Testing .ZIP files ................................ 15

Storing and Rebuilding Directory Structures ............ 16

Deleting Files from a .ZIP file ................... 19

Speed vs. Size ......................................... 21

Selecting the Compression Type ......................... 23

Using Advanced Features ................................ 24

Extracting Files to a Device ...................... 24

Storing and Restoring the Volume Label ............ 25

Compressing and Extracting Hidden and System Files 26

Zipfile and File Comments ......................... 27

Suggested Reading ...................................... 29







PKWARE Inc. Contents i

________________________________________________________________
PKZIP Command Reference 30
________________________________________________________________
PKTMP 47
________________________________________________________________
PKUNZIP Command Reference 48
________________________________________________________________
PKSFX/ZIP2EXE 57

Creating a Self-Extracting File ........................ 57

PKSFX Junior ........................................... 57

PKUNZIP Junior ......................................... 58

PKSFX Command Summary .................................. 59

Modifying a Self-Extracting File ....................... 60

Stripping the PKSFX Code ............................... 60

Sending a Self-Extractor ............................... 60

With PKSFX Junior ................................. 61

With PKSFX ........................................ 61

Confirm before extract ................................. 62

Memory Requirements .................................... 62
________________________________________________________________
Using List Files 63

Reading List Files ..................................... 64

Generating List Files .................................. 65

List file size ......................................... 66

________________________________________________________________
Using Data Encryption 68

Long Keys ......................................... 69

Complex Keys ...................................... 69

Multiple Keys ..................................... 70

How secure is PKZIP encryption? ................... 72





ii Contents PKZIP 2

________________________________________________________________
PKZIP Configuration ......................................... 74

PKZIP.CFG .............................................. 75

________________________________________________________________
Authenticity Verification 78

Using PUTAV ............................................ 78

Application for Authenticity Verification 81

________________________________________________________________
F.A.Q. (Frequently Asked Questions) ......................... 82

________________________________________________________________
How Does PKZIP Work? 91

Compression ............................................ 91

Information content ............................... 91

Binary Data Representation ........................ 92

Speed vs. Size .................................... 95

Archiving .............................................. 95

How PKZIP Builds a .ZIP File ...................... 97

Building a New .ZIP File .......................... 97

The .ZIP File Structure ........................... 98

________________________________________________________________
Trouble-Shooting 101

Determining the Problem .......................... 101

Customer Support Form ............................ 105

________________________________________________________________
ERROR MESSAGES 107

Error Levels .......................................... 118

________________________________________________________________
PK Safe ANSI 120

Usage ............................................ 120

Monochrome Option ................................ 121


PKWARE Inc. Contents iii

FEATURES



The PKZIP 2 software utilities include many features. Here are just
a few of them:

Improved Compression. PKZIP 2 implements a new compression
algorithm called Deflating. Deflating has varying levels of compression
and speed available, allowing you to specify the method of compression
to be employed. Both the speed and amount of compression are improved
over previous versions of PKZIP.

Multi-volume archive support. PKZIP 2 can create .ZIP files
larger than a single floppy disk.

Subdirectory storage. PKZIP 2 can find and store subdirectory
pathnames within a .ZIP file. Files can then be restored to their
original subdirectories, or they may be re-created. Storage includes
empty subdirectories.

Automatic detection and utilization of 80386 and 80486 CPU's,
EMS and XMS memory, Novell Netware, and 32-bit DPMI. PKZIP 2 gets
the most out of your machine by using the power of modern CPU's. EMS
and XMS support offer the ability to process more files with less
available conventional memory. Novell Netware and 32-bit DPMI support
offer speed improvements.

The above features also allow you to get the best performance when
in a DOS session under OS/2 or Windows. OS/2 and Windows offer EMS,
XMS and 32-bit DPMI without your using extra drivers.

Memory Requirements. PKZIP requires a minimum of 183K of conventional
memory. If EMS is available, the conventional memory requirement
is 85K. PKUNZIP requires 90K of conventional memory. PKSFX requires
a minumum of 71K of memory.

Easy to use configuration program. PKZIP 2 can be configured
to best suit your needs through the use of the PKCFG program.

PKSFX Junior and PKUNZIP Junior. These "Junior" programs use
very little memory and are extremely small. Although they are reduced in
ability, their small size makes them very useful.

Password Encryption. Sensitive data files can be scrambled
with password protection. The security of this feature has been improved
in PKZIP 2.

Authenticity Verification. Users requiring authentication of
archive files may request an Authenticity Verification code. This
allows users to create .ZIP files which reveal tampering.



iv Features PKZIP 2

INTRODUCTION



Welcome to PKZIP 2.0. This release continues the high performance tradition
of previous versions of PKZIP, with a host of new features. In addition to
an improved reference section, this manual contains a step-by-step tutorial.
By following the Installation, Tutorial and Advanced Features sections in
order you will learn how to use PKZIP to your best advantage. Use the
Command Reference sections in your day-to-day use of PKZIP. Convenient
indices to these sections are printed on the inside of the front and back
covers.

PKZIP is a powerful program. It has many options, but it is possible to make
use of PKZIP by knowing only a few simple options. You can start out with a
basic understanding and learn more if and when you need to use additional
features.

It is recommended that you first read through this introduction and the
installation procedure. Then perform the installation and work through the
Tutorial in order.

Follow up with the Advanced Features section of the Tutorial. You should not
attempt to use the PKZIP Backup Guide until you have completed (and
understand) the entire tutorial.

Conventions

This manual follows several conventions for clarity and to help you find
information quickly. Text that you would see on your computer screen is
shown here in a "typewriter" typeface. Text that would be entered by you
in these examples is shown in bold:

C:\DOS>dir

Bold text is also used for emphasis and to point out terms which are then
shown in vocabulary boxes.

Vocabulary

Terms that are felt to be technical enough to require explanation are listed
in convenient vocabulary blocks. These vocabulary terms are with the first
instance of the word, so that you may read them and continue on without
needing to search for the glossary. This block is an example.


** Anything that we want to be sure you don't miss will be pointed out in
the same manner as this paragraph.






PKWARE Inc. Introduction 1


Command Syntax

Standard command specification syntax is used throughout the Command
Reference section. This is used to differentiate between command option
parameters which are optional or mandatory, and to indicate when certain
options may be combined:

< > Angle Brackets are used to indicate a command option parameter which
must be present. The option parameter will follow immediately after the
option with no space.

[ ] Square Brackets indicate a command option parameter which is not
mandatory.

, | If there are several possible options which may be used in the
position indicated by the angle or square brackets, they will be separated by
either a Comma or a Vertical Bar. If options are separated by a comma, then
more than one of the options may be used simultaneously. If they are
separated by a vertical bar, the options are exclusive of one another and
only one may be used at a time.

Following are some abstract examples of how these syntax rules are applied.

Syntax Valid Entries
---------------------------------------------------
-z -za, -zab, -zac, -zbc, -zabc

-z -za, -zb, -zc

-z[a,b] -za, -zb, -zab, -z

-z -za, -zb, -zac, -zbc
-zab or -zabc would be invalid.




















2 Introduction PKZIP 2

Product Support

We hope that your use of PKZIP and PKUNZIP will be enjoyable and trouble-
free. It is our intention to provide the best possible product and
documentation. We understand that problems may arise, and in most cases you
will be able to resolve any problems you may have by referring to the
documentation. Answers to questions you might have will usually be found
within these pages.

You may reach our Product Support staff in several convenient ways.

Support Conferences

PKWARE maintains support conferences on several BBS Networks. Such as ILink,
SmartNet and Rime. You may leave a question in the PKWARE support conference
on any of these networks. A Support Technician or fellow user will answer
your questions. Many other BBS networks also offer PKWARE conferences, but
these are not necessarily monitored by PKWARE.

PKWARE BBS

PKWARE also maintains its own BBS. The PKWARE BBS is normally available 24
hours a day. The BBS supports all baud rates from 1200 up to 14.4K. Set
your communications software for 8 bits, 1 stop bit, no parity.

The PKWARE BBS offers the latest in PKWARE shareware as well as many other
files for downloading. The PKWARE BBS has multiple phone lines for your
convenience.

PKWARE BBS
(414)354-8670

CompuServe

PKWARE Support Technicians maintain a discussion forum on CompuServe. To
get to the forum, simply type "GO PKWARE" from any CompuServe prompt.

PKWARE CompuServe ID# 75300,730
















PKWARE Inc. Introduction 3


Internet/Usenet

PKWARE products are frequently discussed in the newsgroup "comp.compression".
Internet newsgroups are not supported directly by PKWARE.

Through Internet
[email protected]

Voice and Fax

You may reach a PKWARE Support Technician by sending a Fax containing your
question.

PKWARE FAX
(414)354-8559

If your question is urgent, or you do not have access to any of the above
methods of communication, a Support Technician may be reached by phone.
PKWARE Technical support is normally available Monday through Friday, 9 am
to 5 pm Central Time (-7 hours GMT).

PKWARE Voice Support
(414)354-8699

Information to Give

When contacting PKWARE Technical Support in any of the above methods, please
be prepared to provide as much information about the problem as possible.
Include the version numbers for: PKZIP, DOS, and any Memory and Device
Drivers you are using. Include the command(s) you have tried to use, and
what the results were and note why you feel you have a problem.

When faxing a problem, a print out of any error messages is often helpful in
determining a solution.

Please see the Trouble Shooting section for additional information.

PKWARE Inc.
9025 N. Deerwood Dr.
Brown Deer, WI 53223
(414)354-8699
(414)354-8559 FAX
(414)354-8670 BBS










4 Introduction PKZIP 2

INSTALLATION



PKZIP works best when it is located in your path. You can put PKZIP in your
path by either copying it into an already existing subdirectory that is in
your path, or by copying it into its own subdirectory and putting that
subdirectory into your path.

Throughout this manual many examples will show the command prompt. This will
look like "C:\>" or "C:\PKWARE>" or something similar. This represents the
command prompt displayed by your computer and is not to be typed in. If you
do not see a prompt that looks like this when you are using DOS, try typing
the command "PROMPT $P$G". This will set your prompt to resemble those used
here. You may also want to add the "PROMPT $P$G" command to your
AUTOEXEC.BAT file.

Path

There are two meanings for path as used under MS-DOS. It may refer to the
location of a file, or it may refer to the places DOS will search for a
command.

In the first instance, a path would be the directory or subdirectories that a
file is located in. If a file called "HOURS.PYS" is in a subdirectory called
"JUNE" under a directory called "PAYROLL" on the D: hard disk, it's full path
would be "D:\PAYROLL\JUNE\HOURS.PYS".

In the second instance, the path is a list of places stored in an environment
variable called "path". If you type "path" at the DOS prompt and press enter
you will see the path that is currently set on your computer. It will
usually look something like this:

C:\;C:\DOS;C:\UTIL;D:\WINDOWS

It will look different on your machine). The path is set by a statement in
the AUTOEXEC.BAT file. For more information, please see your DOS manual.


Installing PKZIP On Your Hard Drive

Your computer should be turned on and at the DOS prompt. If your computer
normally runs a program automatically when you turn it on, you will need to
exit from this program. You should have a prompt on your screen similar to:

C:\>

** This installation example shows PKZIP being run from the C:\PKWARE
directory. PKZIP may be run from any drive in any directory.





PKWARE Inc. Installation 5


Place the diskette containing the original PKZIP distribution in your floppy
drive, either A: or B:. Next, create a subdirectory for PKZIP on your hard
drive. To do so type:

C:\>MD \PKWARE

Then change to this subdirectory.

C:\>CD \PKWARE
C:\PKWARE>

Now enter the name of the self-extractor on your PKZIP disk, include the drive
letter as part of the name.

C:\PKWARE>A:PKZ200

Note that the name of the self-extractor used throughout this manual
(PKZ200.EXE) may vary but will follow the pattern of PKZ###.EXE where ###
represents the version number of the software.

The contents of this file will now extract into the PKWARE subdirectory.

The A: and C: drives in the above command are only for example, and may be
replaced with other drive letters as appropriate to your particular setup.

You must next modify your AUTOEXEC.BAT file. You can edit this file with any
editor that can load and save DOS TEXT or plain ASCII files (For example,
"edit" in DOS 5.0, Windows Write, or any word processor with a DOS TEXT
editing ability. Consult your word processor's manual if you are unsure).

If you have DOS 5.0 type:

C:\>edit autoexec.bat

Look for a line in the file that says something similar to:

PATH=C:\;C:\DOS;(etc...)

Go to the end of this line and add a semicolon if one is not already there,
and the drive and path to PKZIP that you just created. For example
"...;C:\PKWARE"

The line will now look similar to this:

PATH=C:\;C:\DOS;C:\PKWARE








6 Installation PKZIP 2


You will most likely have additional items between the C:\DOS; and C:\PKWARE.

Next add a line that looks like this:

set pkzip.cfg=c:\pkware

The directory specified must be equal to the directory where PKZIP.CFG is
located. If you have followed this installation procedure exactly, the above
line will work fine. This line should be near the top of the AUTOEXEC.BAT
file.

Save the file and exit. You will have to re-boot your computer to make the
change take effect.

After you reboot type "path" at the command line and press [ENTER]. Your
machine will show the path. Make certain that the subdirectory you placed
the PKWARE files in is shown in the path.

You may now verify that PKZIP is installed by typing "PKZIP" at the DOS
command prompt. After you press [ENTER] you should see a banner screen from
PKZIP. Try PKUNZIP as well. You should be able to type PKUNZIP or PKZIP in
any directory and drive, not just in the PKWARE subdirectory.

If you receive the message "Bad command or file name" or "Unknown command",
PKZIP is not properly installed. Check the location of the files you
extracted from the distribution file. Also check the lines that were added to
the AUTOEXEC.BAT file. Make certain you have rebooted since the changes were
made to the AUTOEXEC.BAT file.

The Addendum File

In addition to the files that make up the PKZIP program, you also have a text
file containing any last minute changes or updates to the documentation. You
need to print the addendum file in order to be aware of anything that is not
mentioned in the manual, or has changed since this manual was printed.

To print the addendum, load the text file ADDENDUM.DOC into your
wordprocessor and print it.















PKWARE Inc. Installation 7

TUTORIAL


A comprehensive tutorial is provided with the registered version of PKZIP.
This tutorial has been omitted from the shareware version to save
download transmission time.
















































PKWARE Inc. Tutorial 8-29

PKZIP

Command Reference

Items contained in square brackets([ ]) are optional parameters to an option
and need not be included. Where there are two (or more) items separated by a
comma, you may use any ONE of those options following the main option
character. If there are parameters in angle brackets(<>) you must include
that option, or choose one of those in the series. When choosing options
from a bracketed series, you may use more than one of these options if they
are separated by a comma. If the options are separated by a vertical bar (|)
you may only choose one option. See page 2 for examples.

Command Option Guide

_____________________________________
-a+ Turn off archive attribute of added files.

By using this option you can create a complete backup of your disk, while
clearing the archive attributes to make the way for incremental archiving.

Incremental archiving makes use of the archive attribute to take only the
files which have been modified since the last backup. In order for this
process to work smoothly you must first have a complete backup and a clearing
of the archive attribute for all files.

C:>pkzip f:backup.zip -a+ -rp

_____________________________________
-b Create temporary .ZIP file on alternate drive

Every time a .ZIP file is updated, PKZIP creates a temporary work file. When
the modifications to the .ZIP file are successfully completed, the original
.ZIP file is replaced with the temporary work file. This means you must have
at least as much additional disk space available as was used by the original
.ZIP file.


















30 PKZIP PKZIP 2


For Example: If you have an existing .ZIP file of 500K, and you are adding
another file to it that takes 10K compressed, you need additional workspace
of at least 510K during the update process.

This command option will allow you to create the temporary .ZIP file on a
drive different from the one on which the original .ZIP file resides. This
allows you to update large .ZIP files when space is limited, such as a large
.ZIP file on a floppy disk. Also, by setting this temporary drive to point
to a RAM drive, you can speed up the operation of PKZIP.

Immediately following the -b option place the drive and/or path you wish to
use for the temporary work file.

A:>pkzip test.zip -bc: order.doc

C:>pkzip wp.zip -bz:\public wp51\*.*

** It is necessary to specify a path in addition to the drive letter only
if you are in a situation where disk space or access is being limited by
subdirectory, such as on a local area network.

_____________________________________
-c Create/Edit file comments for all files
-ac Create/Edit file comments for all files during update
-C Add comments for new files only

Each individual file contained within a .ZIP file may have a comment attached
to it. Comments are useful for identifying files, especially if you need to
go back months later to look at a file, or if you are sending the file to
someone else. Each comment may be up to 59 characters long, including spaces
and punctuation.

The -c (lower case) option is used when you want to add or edit file comments
for all files within an existing .ZIP file.

The -ac option may be used during the .ZIP file creation process, or during
an update/freshen process. This will add comments for new files as well as
allowing you to edit/add comments for files that were already in the .ZIP
file.

pkzip test.zip -ac license.doc

When each file is added to the .ZIP file you will be prompted for a comment.
Type a comment of up to 59 characters, and press [ENTER]. If you are
updating an existing .ZIP file and there are files which already have
comments, the comment will be displayed on the prompt line for you to edit.
You may make changes or simply press [ENTER] to leave it unchanged.






PKWARE Inc. PKZIP 31

The -C (upper case) option is used when you want to add a file comment to new
files that are being added to an existing .ZIP file. Files which are not
being added, or files which already existed in the .ZIP file will not be
prompted for comments.

pkzip test.zip -C *.doc

In this situation, you would be adding additional files to the file called
test.zip. Since the file license.doc was added to it in the previous example,
you would not be prompted for a comment for this file.

_____________________________________
-d Delete files

This command will allow you to remove individual files from within a .ZIP
file. This command is only applicable to already existing .ZIP files.

pkzip test.zip -d license.doc

In the above example the file license.doc would be removed from the .ZIP file
test.zip (assuming that it was in the .ZIP file in the first place).

** The deletion of files from within a .ZIP file causes a situation where
a temporary .ZIP file will exist during the deletion process. In order to
delete a file from a .ZIP file there must be as much disk space free as will
be occupied by the modified .ZIP file.

Multiple files may be deleted at one time. You may do this either by placing
multiple file names on the command line, or by specifying a list file
containing the names of files you want deleted. (See Using List Files)

pkzip july.zip -d file1.wk file2.wk1

pkzip tue_back.zip -d @old.lst

_____________________________________
-e[x|n|f|s] Specify compression method

-ex Maximum compression (most compression, most time)
-en Normal compression (default)
-ef Fast compression
-es Super Fast compression (least compression, least time)

-e0 Zero compression (storing)

PKZIP 2 provides four different methods of compression, allowing you to
choose the compression that best suits your need. You can choose speed, high
compression or a balance. The default method will provide good compression
at a reasonable speed.





32 PKZIP PKZIP 2

The switches for this option are intended to be mnemonic in nature:

-ex eXtra or maXimum
-en Normal
-ef Fast
-es Speed/Super Fast
-e0 Zero compression

The only two that may be difficult to remember are the order of Fast and
Super Fast, you might want to think "Extra Speed".

If you need to complete the compression in the minimum amount of time
possible, then choose the fast compression method. To force PKZIP to use its
fastest compression method, use the option -es (Super Fast).

To achieve the smallest files possible, specify the maximum compression
method using the option -ex (Maximum).

pkzip -ex test.zip d:\wp51\*.wp

Using no compression with the zero option is useful when archiving files
which will either not compress or compress very little. This would generally
be true when archiving .ZIP files. By specifying no compression PKZIP will
store the files directly rather than first attempting to compress them.

The compression method to use by default can be specified in the
configuration file. If you have specified the super fast, fast or maximum
compression method in your configuration you may override this and use the
normal method by using the option -en.

_____________________________________
-f Freshen files in a .ZIP file

When this command is specified, PKZIP will compare the contents of the .ZIP
file specified on the command line against the files specified for
compression. If a file ALREADY EXISTS in the .ZIP file, PKZIP will check to
see if the file exists in the source area (i.e. the files specified on the
command line). If the file does exist, it then checks to see if the file in
the source area is more recent than the copy contained in the .ZIP file. If
it is more recent, it will replace the compressed file with the one found in
the source area.

Using this parameter will normally speed up the ZIP process considerably, as
PKZIP will be able to skip over files that it has already compressed.

pkzip -f baka.zip c:\ranma\*.*

This example checks the contents of the .ZIP file "baka.zip" against the
files specified by "c:\ranma\*.*". Any file that matches will be





PKWARE Inc. PKZIP 33

updated if the file in the source area is newer than the copy within the .ZIP
file.
See Also: -u, -i

_____________________________________
-h display command summary (Help)

This option will display a brief summary of the command switches available.

_____________________________________
-i Add files that have the archive attribute - then turn attribute off
-i- Add files that have the archive attribute - do not turn attribute off

This option is very handy when backing up files. If this option is
specified, only files with the archive attribute will be compressed, and the
archive attribute will be set to off when the ZIP operation is complete for
these files.

You may alternatively ZIP all files with the archive attribute set, but not
modify the archive attribute.

A detailed explanation of the use of this option is given in the PKZIP Backup
Guide.

Archive Attribute
Every file on an MS-DOS partition has several properties associated with it.
One of these properties is called the Archive Attribute. When a file has
just been created, this attribute is set to be ON. Also, if a file is
altered, the attribute is set. After a file has been backed-up by a program
which uses this attribute, the attribute is switched off. By making use of
the archive attribute you may make certain that you get all files that are
new or changed. You save time by not backing up files you have previously
archived. This process is called an Incremental Backup.


See Also: PKZIP Backup Guide,
-f , -u, -a+

_____________________________________
-j Specify masking of file attributes
-J Specify retention of file attributes (used to override config file)

When PKZIP archives a read-only file (or is forced to archive a hidden or
system file through use of the -w option) the default is to retain these
attributes with the file in the archive. You may choose to strip these
attributes off the file during the ZIP process by specifying the -j (lower
case) with the letter(s) corresponding to the attribute you wish to mask.







34 PKZIP PKZIP 2


File Attributes
Every file on an MS-DOS partition has several properties associated with it.
These attributes are: archive(a), hidden(h), read-only(r), and system(s).
The archive attribute is explained under the -i option. The Hidden attribute
prevents MS-DOS from displaying the file in a directory listing. Files that
have this attribute are normally ignored by PKZIP. The read-only attribute
prevents a file from being changed or deleted. When a file has this
attribute you cannot delete the file or change it's contents. The system
attribute signifies a file that is a system file. System files are used by
MS-DOS and are treated as Hidden files. Please see your DOS manual for
additional information.


You may set masking of particular attributes to be the default by using
either the PKZIP.CFG file or the PKZIP configuration program.

If any of these options are set in the configuration they may be overridden
temporarily by use of the -J (upper case) option.

pkzip markie.zip -Jhs c:\util\*.*

** Please note there is no space between the -j/J option and the h,r or s.

_____________________________________
-k Retain original .ZIP file date
-k- Set .ZIP file date to the current date (override configuration file)

Normally, when PKZIP updates an existing .ZIP file by either adding to it or
deleting from it, the .ZIP file date is changed to the current date. If
the - k option is specified on the command line the .ZIP file date will not
be altered.

This option may be made the default, see PKZIP Configuration.

If PKZIP is configured to keep the original date in the configuration file,
this may be overridden temporarily by use of the -k- option.

See Also: -o

_____________________________________
-l Display license screen

If this command is specified, PKZIP will display the software license
agreement.

_____________________________________
-m[u|f] Move files

Normally, when PKZIP archives a file, it is making a copy of that file. The
original file is not modified in any way. By choosing the -m option, you may
actually MOVE the file into the .ZIP file.


PKWARE Inc. PKZIP 35


After the ZIP operation is complete, PKZIP will delete all the files it just
placed into the .ZIP file. In effect moving the files from their previous
location into the .ZIP file.

This option may be combined with the Update (-u) and Freshen (-f) options.
When this is done PKZIP will perform the Update or Freshen as it would

normally, and then delete all the files that were placed into the archive.

See Also: -f, -u

_____________________________________
-o Set .ZIP file date to latest file in .ZIP file
-o- Set .ZIP file date to current date (used to override configuration file)

Normal default operation for PKZIP is to set the date of a .ZIP file it is
modifying or creating to the current date. By specifying the -o option you
can tell PKZIP to set the date of the .ZIP file equal to that of the oldest
file within the .ZIP file.

This option may be made the default, see PKZIP Configuration.

If this option is set, you may override it by using the -o- option. This
will force PKZIP to set the .ZIP file date to the current date. Note that
the -o- option must be completely separate from any other options, such as
the -f in the example:

pkzip oldfiles.zip -o- -f c:\wp51\text\*.wp

See Also: -k
_____________________________________
-P Preserve specified path names
-P- Turn off path storage (used to override configuration file)

This option and the related -rp option control the storage of pathnames with
files inside of a .ZIP file. The -p (lower case) option is used only in
combination with the -r option as -rp (see -r for more information).

The -P (upper case) option can be used alone or as a -rP option. The -P
option causes PKZIP to store pathnames found on the command line as part of a
filename specified for compression. This command will only have an effect if
a file or files specified either on the command line or in a list file have
path names.

pkzip pathtest.zip -P c:\dos\attrib.exe

In the above command the file "attrib.exe" would be compressed into the .ZIP
file "pathtest". Because the -P option was specified, and because the path
"\dos" was specified as part of the file name, the





36 PKZIP PKZIP 2


file will be stored as "dos\attrib.exe". This means that the path name will
be available for reconstruction during extraction. Stored path names can be
seen when the .ZIP file is viewed.

pkzip path2.zip -P d:\coreldrw\*.cdr

In this example all files with the "cdr" extension will be placed into the
.ZIP file "path2", and will have the path "coreldrw\" stored with them.

This option may be made the default, see PKZIP Configuration.

If path storage is turned on in the configuration file, you may turn it off
for a particular command by using the -P- option.

pkzip mydoc.zip -P- c:\wp51\docs\zoofund.wp

See Also: -r, -v
_____________________________________
-q Enable ANSI comments
-q- Disable ANSI comments (used to override configuration file)

PKZIP retains ANSI control codes in comment text that is added to a .ZIP
file. During display of the comment text, PKZIP will normally disable ANSI
codes. If you want to have the ANSI control codes used by PKZIP when
displaying comment text, you must specify this option.

pkzip spacemp.zip -q se.diz

This option may be made the default, see PKZIP Configuration.

If the ANSI option is turned on in the configuration file you may temporarily
override it by using the -q- option. Note that the -q and -q- options must
be separated from any other options specified.

_____________________________________
-r Recurse subdirectories
-rp Recurse subdirectories, preserve the path structure below
-rP Recurse subdirectories, preserve path structure specified and below
-r- Turn off recursion (used to override configuration file)

When this option is specified, PKZIP will search the source directory for
subdirectories. If any subdirectories are found, PKZIP searches them for
files. If a further level of subdirectories is found in a subdirectory,
PKZIP will search these as well.

PKZIP will enter as many subdirectory levels as exist.







PKWARE Inc. PKZIP 37


pkzip mail.zip -r c:\mymail\*.*

Using the above command, all files contained within the "mymail"subdirectory,
as well as all files within any subdirectories, would be archived. Only the
file names would be retained, and not the names of the subdirectories.

pkzip mail2.zip -rp c:\mymail\*.*

The second example would preserve the same files as the first, but also keep
the names of any subdirectories found below the "mymail" subdirectory. Note
that the "mymail" subdirectory itself would not be retained since the -P is
not being used.

pkzip pay_june.zip -rP d:\payroll\*.*

The third example will compress all of the files in the payroll directory, as
well as all of the files in any subdirectories. The -rp would cause the
subdirectories to be recursed and stored. The -P will cause "\payroll" to be
stored as well. Without the -P, the "\payroll" portion of the path would not
be stored. This option may be made the default, see PKZIP Configuration.

** Please note that paths are not stored when the -r option is specified
without the p or P option. In order for paths to be stored, the -r
option must be accompanied by the -p or -P option.

_____________________________________
-s[password] Encrypt files

By specifying this option you may encrypt data as it
is compressed by PKZIP. This feature of PKZIP causes the information
contained within a .ZIP file to be scrambled. A file which has been
scrambled will be unreadable until extracted with the same encryption key.

If a password is not specified the user will be prompted for one.

** This feature should be used with caution. For a complete explanation of
the use of this option please see Using Data Encryption.

_____________________________________
-t Select files NEWER than or EQUAL to date
-T Select files OLDER than date

This option will allow you to select files according to their date. The date
specifier is a six-digit number conforming to the following formats:









38 PKZIP PKZIP 2


"American" style: mmddyy
040193 April 1st, 1993
103189 October 31st, 1989

"European" style: ddmmyy
010493 1 April, 1993
311089 31 October, 1989

"Japanese" style: yymmdd
930401 1993 April 01
891031 1989 October 31

PKZIP adapts itself to the date format for which your machine is configured
automatically.

All users within the United States use the first date format.

If you are outside the United States and are unsure of the configuration of
your computer, enter the DATE command at the DOS prompt. This will show you
the date format being used on your computer.

The -t and -T options may be combined to specify a date range.

These examples all use the "American" date format (mmddyy). To compress all
files created after or on November 4, 1992:

pkzip test.zip -t110492

To compress all files created before January 10, 1991:

pkzip test.zip -T011091

To compress all files created between October 1, 1992 and October 31, 1992:

pkzip test.zip -t100192 -T103192

If -t is used with no date, files with dates equal to the current date are
specified:

pkzip today.zip -t

_____________________________________
-u Update files

This option only affects PKZIP operations involving an already existing .ZIP
file. When -u is used in conjunction with a PKZIP command, the files
specified for archiving will be compared against the files already present in
the .ZIP file. If the file to be added into the .ZIP file is already present
and is not NEWER, PKZIP will not bother to re-compress the file.




PKWARE Inc. PKZIP 39

By using this option, you may save yourself time when archiving files that
are backed up repeatedly. This option differs from the behavior of the -f
option in that files which are not already present in the .ZIP file will be
added.

PKZIP p:\backup\sdsource.zip -u d:\c700\work\sd*.*

In this example a .ZIP file called "sdsource.zip" is created in a "backup"
directory on the P: drive. All files in the source directory matching the
file specification will be added or updated.

See Also: -f

_____________________________________
-v[b][r,c|d|e|n|o|p|s][m] View [brief] file information
-vt[m] View Technical file information

This option will display technical information concerning the files contained
within a .ZIP file. There are several options available with the View
option. Each of the -v options may have an `m' added to it, causing the
screen to pause every 25 lines.

In it's simplest form the -v by itself gives a display similar to this:

pkzip am70 -v

PKZIP (R) FAST! Create/Update Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKZIP/h for help
PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745

80486 CPU detected.
XMS version 3.00 detected.
Novell Netware version 3.11 detected.

Searching ZIP: AM70.ZIP - PKWARE Support BBS (414)354-8670

Length Method Size Ratio Date Time CRC-32 Attr Name
------ ------ ----- ----- -------- ----- -------- ---- ------------
76812 DeflatX 23139 70% 01-30-92 12:03 971fea04 --w- AM.DOC
191872 DeflatX 80773 58% 01-31-92 15:02 25cf904a --w- AM.EXE
11664 DeflatX 6935 41% 01-30-92 11:57 183b5606 --w- AM.HLP
149567 DeflatX 63211 58% 01-31-92 15:02 bf2fffee --w- AM.OVR
2262 DeflatX 1021 55% 03-16-91 10:39 50b63fc5 --w- NEW-WARE.BBS
5327 DeflatX 2068 62% 10-14-91 11:25 924efc72 --w- PATHINFO.TXT
130 DeflatX 118 10% 11-14-90 10:05 fd1b1183 --w- PROGMENU.AM
3664 DeflatX 1644 56% 04-04-91 10:32 c8d5c9cf --w- PROGMENU.DOC
1688 DeflatX 740 57% 11-10-90 11:27 8ef23b8a --w- READ!.POP
1416 DeflatX 595 58% 01-30-92 12:03 32b1497e --w- VENDOR.DOC
2167 DeflatX 949 57% 01-30-92 12:07 2e13f4d4 --w- WARNING.!!!
2200 DeflatX 1049 53% 01-30-92 12:01 20c953ee --w- WHAT'S.NEW
------ ------ --- ------------
448769 182242 60% 12


40 PKZIP PKZIP 2

This is the standard, unsorted view of the .ZIP file contents. The columns
displayed from left to right consist of:

Length Original (non-compressed) size of the file
Method Type of compression routine used on this file
Size Current (compressed) size of the file
Ratio Percent reduction in file size
Date Date of the file (as it would appear in a directory listing)
Time Time of the file
CRC-32 The value of the file as calculated by the CRC-32 routine
Attribute The stored attributes of the file, (system, hidden, writable,
read-only, *=encrypted)
Name Name of the file

The -vb (brief) option will display an identical listing, minus the CRC-32
and Attribute columns.

The -vt option shows additional technical information about a file. When
this option is active, a report similar to the following will be displayed:

C:\>pkzip am70 -vt am.doc

PKZIP (R) FAST! Create/Update Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKZIP/h for help
PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745

80486 CPU detected.
XMS version 3.00 detected.
Novell Netware version 3.11 detected.

Searching ZIP: AM70.ZIP - PKWARE Support BBS (414)354-8670

Filename: AM.DOC
File type: text
Attributes: --w-
Date and Time: Jan 30,1992 12:03:54
Compression Method: DeflatX
Compressed Size: 23139
Uncompressed Size: 76812
32 bit CRC value: 971fea04
Created by: PKZIP: 2.0 under MS-DOS
Needed to extract: PKUNZIP: 2.0

The "File type" is a judgement made by PKZIP during compression based upon
the contents of the file. It will be either "BINARY" or "TEXT".

The "Created By" lists both the version level of PKZIP and the operating
system used when the .ZIP file was created. Below that is listed the minimum
version of PKUNZIP that would be required to extract the file.





PKWARE Inc. PKZIP 41


Sort Order

By adding one of the following letters to the -v, -vb, or -vt command you can
specify the sort order of the display.

d File Date
e File Extension
n File Name
o Natural Order (Sort order can be permanently specified in the
configuration file, the "o" option will override this.)
p Percentage of compression, smallest to largest
s File Size, smallest to largest

Any of the above sort orders may be reversed with an "r".

r Reverse display order

If you wish to also view the individual file comments with the listing
specify "c" on the command line.

pkzip hildie.zip -vbcnr

This example would display a brief list of the file contents, including
individual file contents, and sorted in reverse name order.

View With MORE

pkzip totoro.zip -vtrm

This example makes use of the "more" feature available with the view command.
This causes the display to pause after every 25 lines of information. Adding
an `m' to any -v command will cause it to pause every screenful.

_____________________________________
-w Take hidden, system files
-W Skip hidden, system files (used to override configuration file)

Normally PKZIP will skip any Hidden or System files that fall within the
files specified for compression. (See the -j option and your DOS manual for
an explanation of what Hidden and System files are).

If you wish to force PKZIP to take Hidden or System files you may do so by
specifying the -w option, combined with the appropriate










42 PKZIP PKZIP 2

attribute. These attributes will normally be stored as part of the .ZIP file
information unless specified with the -J option.

pkzip all.zip -whs a:\*.*

This example would zip all files in the root of the A: floppy drive,
including any hidden or system files.

pkzip att_test -whs -Jhs c:\*.*

This would take all files as above, and would also discard the file
attributes. This option may be made the default. See PKZIP Configuration.

See Also: -j, PKUNZIP -j

_____________________________________
-x Exclude files
[email protected] Exclude a list of files

Using -x allows you to specify files that you do NOT want used as part of a
PKZIP operation. Either a specific filename or a file pattern may be
specified. You may use -x multiple times on the same command line, and you
may exclude a list of files. The list file is structured and treated
identically to all other List Files.

pkzip testfile.zip *.txt -xpizza.txt

This example would compress all the files with a "txt" extension that are in
the current directory, but would NOT compress the file "pizza.txt"

pkzip test2.zip *.* -x*.txt

Here we take all of the files EXCEPT the files with a "txt" extension.

pkzip test3.zip *.* -xcommand.com -xautoexec.* -xconfig.*

In this last example all files are specified for extraction, one specific file
is being excluded, and any files which match two file patterns are excluded.

See Also: -@ page 46, "Using
List Files" page 63

_____________________________________
-z Create or modify a .ZIP file comment

Each .ZIP file may have a comment embedded into it. This comment will be
displayed when the file is extracted, viewed or modified. A comment may be
added to an existing file, or added when a .ZIP file is first created. PKZIP
will prompt you for the .ZIP file comment, and allow you to enter up to 127
characters.




PKWARE Inc. PKZIP 43


It is possible to embed larger comments (up to 4096 characters) by
using the following procedure:

1) Create the .ZIP file.

2) Create the comment file (comment.txt).

This can be done with any editor that is able to output a standard DOS text
file. It must be plain ASCII or ANSI text (if it is ANSI text you must also
use the -q option). Although the filename comment.txt is used here, any
filename may be used.

3) Issue the command:

pkzip zipfile.zip -z < comment.txt

This makes use of the MS-DOS redirection ability, redirecting the contents of
the file COMMENT.TXT as the input for the comment of ZIPFILE.ZIP.

3a) To add a comment to multiple .ZIP files (within the current directory)
Issue the command:

for %f in (*.ZIP) do pkzip %f -z < comment.txt

Note that the text of a comment is not compressed. If you have a large
message you wish to attach to the .ZIP file it is better to have a short
summary and put any longer message in the .ZIP file itself. Technically, a
.ZIP file comment may be as large as 64k, but PKUNZIP will not display a .ZIP
file comment this large.

_____________________________________
-! Encrypt authenticity verifiable data into the .ZIP file

Using this command option will cause PKZIP to embed Authenticity Verification
(AV) information within the .ZIP file it is creating.

This option may only be used if you have received and installed the AV
information for your fully registered copy of PKZIP from PKWARE Inc.

Note that AV codes for PKZIP 2.0 and above are different than those used for
version 1.10.

Please see the section on Authenticity Verification for complete information.










44 PKZIP PKZIP 2

_____________________________________
@[filename] Specify LIST file

This option specifies a plain ASCII text file to be used as the list
of files to be archived. PKZIP will read in this file listing and generate
the complete list of files that must be processed. A list file may contain
wild card specifications (?,*) as well as exact file names:

files.bbs *.txt
*.* text\news.asc
d:\text\*.ans c:/dos/edit.com

All of the above would be valid entries in a list file. Notice that both
forward and backward slashes may be used and mixed.

The size of a list file that may be processed is limited. The total size of
the list file depends upon two factors.

The first is path storage. If paths are specified in the list file and are
NOT stored with the -P option, the list file size is limited to approximately
7000 bytes.

If paths are specified and are stored, the list file size is limited to 9700
bytes.

If a list file has drive letters specified as part of the file names within
the file, the maximum list file size is reduced. When paths are not stored
the maximum size is 5100 bytes, when they are stored 6600 bytes.


List File Size Limits No Path Storage Path Storage (-P)

Drive Letters in List File 5100 bytes* 6600

No Drive Letter 7000 9700

*These numbers are approximate and may vary depending on your
configuration.

If the list file is too big, you will receive an "Insufficient Memory" error.
If you have a list file which is too big, you may split it into two or more
smaller list files and perform multiple PKZIP operations.

See Also: "Using List Files", -@

_____________________________________
-& Create multi-volume archive

When this option is specified PKZIP will create a .ZIP file which is larger
than a single floppy disk. This option may only be specified when creating a
.ZIP file on removable media (i.e. a floppy disk or high capacity cartridge
drive).


PKWARE Inc. PKZIP 45

If PKZIP encounters an unformatted floppy disk it will format it before it
continues. This means that you will not need to anticipate the exact number
of floppies that will be needed ahead of time. For complete information on
the use of this and related options, please see the PKZIP Backup Guide.

_____________________________________
-$[d] Store Volume label as part of .ZIP archive

When this option is specified PKZIP will store the Volume Label of the
specified device as part of the information within the .ZIP file it is
creating or modifying. The letter of the drive containing the desired label
should be specified in place of the [d] on the option statement. Do not
include a colon.

PKZIP doug.zip -rp -$b b:*.*

In this example a .ZIP file called "doug" is created in the current
directory. It consists of the complete contents of the B: drive including
it's subdirectories and Volume Label.

Volume Label
Every drive that can be accessed on your computer is referred to as a VOLUME.
This includes not only your hard disk but also floppy disks, and may include
other storage devices such as CD ROM drives or large capacity removable
drives such as those manufactured by SyQuest or Iomega. Each of these drives
may have a VOLUME LABEL. This is a text string which identifies it. This is
particularly useful on removable media, such as floppy disks. Each floppy
may have a label which is meaningful to you, or to a piece of software. For
further information on VOLUME LABELS please refer to your DOS manual.


_____________________________________
[email protected] Generate LIST file

** Please note that this option is different from using a list file. When
PKZIP is reading a list file there is no dash in front of the @.

This option causes PKZIP to generate a LIST file out the specified file name
instead of performing a ZIP operation. The output file will be a plain ASCII
file with one file name per line, and will be identical to the listing of the
files PKZIP would have placed into a .ZIP file had the -@ option not been
used.

If the -rp is specified the list file will include paths in addition to the
file names. If the pattern/filespec is on a different drive, the drive
letter will be included as well.

pkzip dummy.zip [email protected] *.*

This would generate a list file called "test.lst". Note that the dummy
zipfile name is needed. The name of the .ZIP file specified does not matter
as it is not actually used.


46 PKZIP PKZIP 2


pkzip dummy.zip [email protected] -rp d:\*.*

This would create a list file of the ENTIRE contents of the D drive. If the
current directory is not D:\ when this command is issued the drive will be
included with each filename in the list file.

This option can also be useful in conjunction with an existing .ZIP file.
For example, to generate a list of all files which have been modified since
they were placed in the .ZIP file "akiko.zip":

pkzip akiko.zip -f [email protected] *.*

See Also: "Using List Files"

_____________________________________
-= Open file in compatibility mode

This option will cause PKZIP to open files in "compatibility" mode, as
opposed to "sharing" mode.

Using this option will cause PKZIP to ignore most file locking, including
share.

In some networking situations this will allow you to read a file which would
otherwise not be accessible due to file locking.

PKTMP


During compression, PKZIP uses a temporary file. As each file is added to
the .ZIP file it is first compressed into this temporary file and then
appended to the .ZIP file.

By default this temporary file is created in the current directory.

You may have this temporary file created in a different directory by setting
the environment variable PKTMP. Set this equal to the drive you wish to use
as your temporary file location.

For optimal performance on your local harddrive, the PKTMP could be set equal
to a RAM drive if a large enough one is available. The temporary file
location must have enough free space to hold the largest file in it's
compressed state.

For optimal performance when creating a .ZIP file on a Novell Netware volume,
set the PKTMP equal to any drive on the same server. This will achieve the
best performance, and is superior to using the local hard drive or the RAM
drive.

C:\>set pktmp=z:\



PKWARE Inc. PKZIP 47

PKUNZIP

Command Reference

Description of command options

Items contained in brackets are optional and need not be included. Where
there is more than one item separated by commas you may use any ONE of those
options following the main option character. Where there are options in
brackets you must include that option, or choose one of those in the series.
When choosing options from a bracketed series, you may use more than one of
these options if they are separated by commas. If the options are separated
by a vertical bar (|) then you may only choose one.

Command option Guide

_____________________________________
-c Extract files to the console
-cm Extract files to the console with more (pause between screens)

This command will extract files from a .ZIP file and display them on the
monitor. The extracted files will scroll continuously on the screen. The
software can be told to pause after each screen of output by using the -cm
option.

pkunzip pkz200.exe -cm pkzip.doc

This example lists the text file pkzip.doc to the screen from the self-
extracting .ZIP file "pkz200.exe". The display will pause and wait for a key
press between each screen of text.

_____________________________________
-d Restore directory structure

This command option uses the path names that have been stored in the .ZIP
file by PKZIP. If the stored paths do not exist at the extraction
destination, they will be created.

For example: If the following directory tree exists on drive C:















48 PKUNZIP PKZIP 2


C:\ABCDIR1
DIR2DIR3
DIR4
XYZ
PDQ

If you executed:

pkzip -rp a:stuff c:\abc\*.*

A .ZIP file called STUFF would be created containing all the files in the
directory "abc", as well as any subdirectories below that directory.

If you then executed:

pkunzip -d a:stuff c:\xyz\newabc

The directory structure of drive C: would now look like this:

C:\ABCDIR1
DIR2DIR3
DIR4
XYZNEWABCDIR1
PDQ DIR2DIR3
DIR4

All of the files and subdirectories which were originally in the "abc"
directory are now located in the "newabc" directory (shown in the box). Note
that the "newabc" directory was created by PKUNZIP because it was specified
on the command line.

See Also: Tutorial - "Storing and Rebuilding
Directory Structures"

_____________________________________
-e[r][c,d,e,n,p,s] Extract files in a sorted order

This option is used to specify a particular order in which to extract files
from a .ZIP file. These options are used along with the -e. Each option
will cause extraction sorted in ascending order of the particular criteria.













PKWARE Inc. PKUNZIP 49


Sort Options

r Reverse sort order

c CRC Value

d Date

e File Extension

n File Name

p Percentage (ratio) of compression

s File Size

The most useful of these options will normally be extraction in order of
Date, Name, or Extension. Extraction in value of CRC order is in effect
a random extraction.

In this example the files contained within the .ZIP file ZUCKER would be
extracted in the order of their names.

pkunzip -en zucker.zip

To reverse the order of extraction combine with the [r].

pkunzip -ern zucker.zip

_____________________________________
-f Freshen files in extract directory

This function is the inverse of the freshen function in PKZIP. When this
option is used, the PKUNZIP command will be executed normally except that
files will be extracted only if:

-> The files already exist in the target directory or directories

AND

-> The files in the .ZIP file are newer than the files in the
extract directory.

_____________________________________
-h Display command summary (Help)

This option will display a brief summary of the command switches available.






50 PKUNZIP PKZIP 2

_____________________________________
-j Specifies masking of file attributes (default)
-J Specifies extraction of file attributes

During normal use, PKUNZIP does not extract files as being hidden, system or
read-only. If there are files stored within a .ZIP file that have any of
these attributes, you must specify the -J (upper case) option to keep the
attributes.

pkunzip stuff.zip -Jhsr

In this example all the attributes would be preserved. For an explanation of
what file attributes are see your DOS manual.
See Also: PKZIP -w, PKZIP -j

_____________________________________
-l Display license information

This command will display the software license agreement.

_____________________________________
-n Extract only newer files

This option is the compliment of the -u option in PKZIP.
When this option is used files will only be extracted if:

-> They do not exist already in the target directory

OR

-> They are newer than the file already in the target directory

This means that files which already exist and are more recent than those in
the .ZIP file will not be overwritten.

_____________________________________
-o Overwrite previously existing files
-o- Never overwrite files

This option will cause PKUNZIP to overwrite any files that already exist in
the target directory, without prompting. When this option is not specified
PKUNZIP will pause if it attempts to extract a file that already exists. It
will prompt you:

PKUNZIP: Warning! File XXXXXX already exists. Overwrite (y/n/a/r)?

If you forget to specify the -o when you give the PKUNZIP command, you may
respond to the above question with "a" (All). PKUNZIP will continue as
though a -o had been specified originally.

The -o- option will cause PKUNZIP to skip any file which already exists,
regardless of file sizes or dates.


PKWARE Inc. PKUNZIP 51

_____________________________________
-p[a/b] [c] [#] Extract files to the printer

This option is used to extract files from a .ZIP
file and send them to a printer (serial or parallel) for printing. The
command parameters are defined and several examples are given here to make
this complex command clear.

-pa Extract to the printer device in ASCII mode

-pb Extract to the printer device in BINARY mode

ASCII mode is commonly used to print text. It will form feed after each
file when multiple files are being extracted.

Binary mode does not send any extra characters, extracting purely the
contents of the file to the specified device. This is commonly used to send
fonts or graphics to a laser printer. It will not form feed between files.

The a and b options cannot be mixed in the same command line.

In combination with the -pa or -pb option you may specify the port to which
PKUNZIP should extract. If only a number between 1 and 4 is specified, the
extraction will go to that number of printer port (LPT1 through LPT4). If a
"c" is specified PKUNZIP will extract to the COM port. The "c" option may
also be combined with a number from 1 to 4, specifying COM1 through COM4.

This example will extract the specified files to the parallel port LPT1.

pkunzip sesame.zip *.doc -p

This example is extracting files in binary mode to a printer on the second
serial port.

pkunzip graphix.zip *.eps -pbc2

Here the files are extracted to a printer on the second parallel port in
ASCII mode.

pkunzip docs.zip -pa2
_____________________________________
-q Enable ANSI comments
-q- Ignore ANSI control codes (default)

By default, ANSI control codes embedded in comments are not displayed by
PKUNZIP. When the -q option is used these ANSI sequences will be output and
interpreted by the ANSI device driver if one is present.







52 PKUNZIP PKZIP 2

This option can be forced on by default in the configuration file. The
configuration option to add is:

ANSI=enabled

The enabling of ANSI control codes in the configuration file may be
overridden at the command line by using -q-.

ANSI control codes provide the feature of adding color to text on a system
which has ANSI.SYS loaded in the CONFIG.SYS.

** However, ANSI control codes also perform many other features, some of
which can be potentially hazardous if you do not know the source and
contents of the comment. It is for this reason that PKZIP and PKUNZIP
filter out ANSI control codes unless you explicitly tell them not to.

PKWARE has created an addition to the ANSI.SYS driver called PKSFANSI
(PK Safe ANSI). By using this in conjunction with your normal ANSI.SYS you
can be sure of receiving only the ANSI characters that you want. PKSFANSI
is provided by PKWARE free of charge. It is included on the PKZIP
distribution disk.

See Also: PKZIP -q

_____________________________________
-s[password] Decrypt files

This option is used to unscramble (decrypt) the files in a .ZIP file. PKZIP
has a -s option which is used to encrypt the files. If a password is not
specified the user will be prompted for it. When extracting a .ZIP file that
has been encrypted, the files will not be extracted unless the correct key
(password) is included on the command line or entered at the prompt.

** Notice there is no space between the -s and the encryption key.

pkunzip payroll.zip -o -sSecret *.dbf

In the above example, all files with a "dbf" extension will be extracted and
the key "Secret" applied to them. This will only work if the files have been
compressed with the key of "Secret" applied to them.

** This option is case sensitive. This means that "Secret", "secret" and
"SECRET" are all different passwords.

See Also: "Using Data
Encryption", PKZIP -s








PKWARE Inc. PKUNZIP 53

_____________________________________
-t Test .ZIP file integrity

This option is used to test files within a .ZIP file in order to verify that
they are valid and have not been corrupted. PKUNZIP will perform all the
actions that would normally be taken during a .ZIP file extraction, except
that files will not be written to disk.

The data will be extracted and checked against the CRC to ensure it's val-
idity. After each file is checked it's name will be displayed with an "OK".

C:\PKSTUFF>pkunzip zc102 -t

Searching ZIP: ZC102.ZIP - PKWARE Support BBS (414)354-8670
Testing: ZC.DOC OK
Testing: ZC.EXE OK
Testing: ORDER.FRM OK
Testing: VER-HIST.TXT OK

In this example a command is issued which performs a test on the .ZIP file
"zc102". As each file is tested its name is displayed. Note that the .ZIP
file comment is displayed.

If you test a file that is not a .ZIP file, or specify particular files
within the .ZIP file that do not exist, you will receive the message:

PKUNZIP: (E11) No file(s) found.

Testing a .ZIP file with errors would produce a display something like this:

Searching ZIP: PROBLEM.ZIP
Testing: WORLD.M~ PKUNZIP: (W15) Warning! file fails CRC check
Testing: CORELDRW.BPT OK

PROBLEM.ZIP has errors!

Normally, a CRC failure as above indicates that a file has been damaged
either in storage or transmission. For instructions on attempting to repair
a .ZIP file that has been corrupted, see PKZIPFIX in the Trouble Shooting
section.

See Also: "Trouble Shooting", "F.A.Q."












54 PKUNZIP PKZIP 2


_____________________________________
-v[b][r,c|d|e|n|p|s][m] View [brief] file information
-vt[m] View Technical file information

The -v option for PKUNZIP is the same as the -v option for PKZIP, with one
exception. In PKUNZIP the `c' option for sorting refers to the CRC value.
For PKUNZIP this option refers to the Comment of a file.

For complete information, please see the -v option in the PKZIP Command
Reference.

See Also: PKZIP -v

_____________________________________
-x Exclude files from extraction
[email protected] Exclude list of files from extraction

By specifying a -x as part of the PKUNZIP command, you may prevent a file or
group of files from being extracted. Using -x with a list file will allow
you to exclude a list of files from extraction.

pkunzip fd201.zip -x*.doc

In this example all files are extracted from the .ZIP file "fd201.zip" except
for those with a ".doc" extension.

-x may be used more than once on the command line, and may be used in
combination with specific filespecs and list files.

See Also: PKZIP -x

_____________________________________
-$ Restore volume label

This command is used to restore any volume label that has been stored in the
.ZIP file. It is important to remember that the PKZIP command used to store
a volume label does not store a drive letter along with the label. Upon
extraction, the volume label will be assigned to the target drive.

C:\>pkunzip davebk.zip -$ a:

This example will extract the contents of "davebk.zip" to the A: drive. If a
volume label was stored as part of the .ZIP file, the volume label for the
floppy in drive A: will be reset to the one contained in davebk.zip.

See Also: PKZIP -$







PKWARE Inc. PKUNZIP 55

_____________________________________
[email protected] Generate LIST file

Please note that this option is different from using a list file. When a
list file is to be read by PKZIP there is no dash in front of the @.

Using this option will cause a list file to be generated using the specified
file name instead of a normal PKUNZIP operation being performed. The output
file will be a plain ASCII file with one file name per line, and will be
identical to the listing of files PKUNZIP would have extracted had the -@
option not been used.

pkunzip underdem.zip [email protected]

This would create a list file called "showme.lst" containing a list of all
the files present within the .ZIP file. File specs may be used in
conjunction with this type of command, in the same manner as a normal
extraction command. Also the -e option may be used for sorting. The
following example creates an alphabetized list file of only the ".doc" files
within it:

pkunzip manuals.zip -en *.doc [email protected]

The extension of ".lst" on a list file is not mandatory, but recommended for
clarity.

See Also: "Using List Files",
PKZIP @, -@


























56 PKUNZIP PKZIP 2

PKSFX/ZIP2EXE


The PKZIP utilities offer a self-extraction capability. This means that you
can make a .ZIP file into an .EXE file. This file will in effect be able to
extract itself. A PKSFX (PK-Self Extracting) file consists of a .ZIP file
which has been transformed into a self-extracting file by the utility
ZIP2EXE. There is no utility or file called "SFX" or "PKSFX", but the
self-extracting file will show PKSFX on the banner in the same manner as
PKUNZIP:

PKSFX (R) FAST! Self Extract Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKSFX/h for help
PKSFX Reg. U.S. Pat. and Tm. Off.

Creating a Self-Extracting File

In order to create a self-extracting file, you must first create a .ZIP file.
Once this .ZIP file is created, use the ZIP2EXE utility to transform this
.ZIP file into an .EXE file.

D:\>zip2exe test.zip

ZIP2EXE (tm) Self-Extract Creator Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. ZIP2EXE/h for help

TEST.ZIP => TEST.EXE

D:\>

As you can see, an .EXE file by the same name as the .ZIP file is created.
The original .ZIP file is not deleted.

Meet Junior

** Turning a .ZIP file into an .EXE file increases the size because of the
included extraction program. The added size is approximately 13.5K
bytes. If space is at a premium, and you are willing to sacrifice
functionality for size, try PKSFX Junior(TM).

The PKSFX Junior is somewhat smaller, and offers very few command line
options due to this reduced size. The options which are available with
the PKSFX Junior are indicated on the PKSFX command summary.

To create a PKSFX Junior file, add the command line option -j when performing
the ZIP2EXE step.








PKWARE Inc. PKSFX/ZIP2EXE 57


D:\>zip2exe -j test.zip

** PKSFX Junior adds approximately 3K bytes to the .ZIP file.

PKSFX Junior can handle a maximum of 512 files. Although PKSFX Junior has
this limit to the number of files it can handle, there is no limit to the
file size.

PKUNZIP Junior

PKUNZJR.COM

The PKUNZIP Junior program is an extremely small stand-alone extraction
program. It is used in the same manner as PKUNZIP but it has only the
functionality of the PKSFX Junior self-extractor.

PKUNZIP(R) FAST! Mini Extract Utility Version 2

Copr. 1989-1992 PKWARE Inc. All Rights Reserved.
PKUNZIP Reg. U.S. Pat. and Tm. Off.

Usage: pkunzjr [-o] filename[.zip] [output_path]

PKUNZIP Junior has one option, -o. This option is the same as that for
PKUNZIP (Senior).

PKUNZIP Junior accepts the .ZIP file name on the command line, and may
optionally accept an output path. PKUNZIP Junior cannot extract specific
files, but must extract the entire .ZIP file.

PKUNZIP Junior cannot extract a file containing more that 512 files, and does
not support multiple volume .ZIP files.






















58 Introduction PKZIP 2

PKSFX Command Summary

Command line syntax and options are the same as PKUNZIP. The options listed
below are offered by a self-extracting file.

Syntax: pksfx [option] [d:\path] [file]* [file]*

PKSFX indicates the name of the self-extracting file you are executing. No
options are necessary if you wish to simply extract all files to the current
directory. If you wish to extract the contents to another directory,
indicate the drive and/or path the files should extract to. To extract only
particular files, indicate the name(s) at the end of the command line.

Options:

@listfile.lst Specify list of files for extraction*

-c[m] Extract to console*

-d Re-create directories stored in .ZIP file*

-l Display software license agreement*

-n Extract only newer files*

-o Overwrite existing files

-p[a|b][c][#] Extract to printer*

-s Decrypt with password*

-t Test file integrity*

*Indicates options not available in the PKSFX Junior and PKUNZIP Junior
programs.

Options should be placed after the self-extracting files name. If multiple
options are used they must be separated by a space and each must have its own
option indicator (either - or /).

All options behave in the same manner as they do with PKUNZIP, with one
exception. The -s option cannot accept keyboard entry. A password entered
with a self-extracting file must be able to be entered from the command line.











PKWARE Inc. PKSFX/ZIP2EXE 59


Modifying a Self-Extracting File

A self-extracting file can be operated upon by PKZIP and PKUNZIP in a manner
identical to normal .ZIP files. You will need to specify the full file name
including the EXE extension.

C:\>pkzip test.exe -f d:\*.*

There is no difference between operating on a self-extracting file and a
normal .ZIP file.

A Note About Self-Extracting Files

When you create a self-extracting file, you are adding a copy of the
extraction code to that file. Since this code duplicates the functionality
of the PKUNZIP program, it makes sense to use the self-extractor only when
PKUNZIP will not be present on the machine to extract the file.

If you create many self-extracting files for your own use, you will be using
more space unnecessarily. Therefore it is recommended that you only use the
self-extracting capability when you are sending a file to someone that you
know does not have a compatible PKUNZIP.

Stripping the PKSFX Code

You may have occasion to want to keep the contents of a self-extracting file,
but wish to turn it back to a normal .ZIP file.

The ZIP2EXE offers an option to reverse the process. This is done with the
command line switch -e:

F:\>zip2exe -e test.exe

ZIP2EXE will recognize normal and PKSFX Junior files automatically.

Sending a Self-Extractor

If you are sending a PKSFX file to somone who is not familiar with data
compression and/or PKWARE products, we recommend you tell them to do the
following:













60 Introduction PKZIP 2

With PKSFX Junior:

1) Create a temporary directory on the hard drive to hold the
files contained in the self-extracting file.

C:\>md temp

2) Change to the directory that was just created.

C:\>cd temp
C:\temp>

3) Place the diskette containing the self-extracting file into
the A: or B: drive. 4) Type the name of the self-extractor,
including the path to the floppy drive.

C:\temp>a:test

With normal PKSFX:

1) Place the diskette containing the self-extracting file into
the A: or B: drive and change to that drive.

C:\>a:

2) Type in the following;

A:\>test -d c:\temp

You may also wish to create a batch file or text file on the floppy disk
containing the above steps. The contents of the self-extractor will be placed
into this temporary directory. They can then examine or move the files at
their leisure. The -d option ensures that any subdirectory information
included will be re-created, and causes PKSFX to create the temporary
directory for the user.


A site license is required by a corporation, company, educational
institution, or governmental agency for use of PKWARE software on the total
number of computers that will use the software.

Use of PKWARE programs for personal use is covered by your purchase of a
single license for PKZIP. A Distribution License is required by a
corporation, company, educational institution or governmental agency to use
PKWARE programs to facilitate the distribution of software to outside parties.

Please note that if a self-extracting file is used, a Distribution License is
required, because PKWARE code is distributed in the form of the PKSFX program
combined with the file(s) being distributed.

Please contact PKWARE for more information if you intend to distribute self-
extracting files.


PKWARE Inc. PKSFX/ZIP2EXE 61


Confirm before extract

If a PKSFX file has a .ZIP file comment attached, this comment is displayed
before the file is extracted. By imbedding a Control-S character (Hex 13,
ASCII 19), you can cause PKSFX to pause. The display will look like this:

Searching EXE: XXXXX.EXE -
.
.
.
(ZIP file comment text)
.
.
.
Do you want to extract these files now (y/n)?

Press 'Y' to extract the files, 'N' o abort. Note that the Control-S
character is not displayed. This control character may be located anywhere
within the comment.

If the user aborts by pressing 'N', an exit code of 12 will be returned by
PKSFX. PKSFX Junior will return an exit code of 8.

See: PKZIP -z for more
information on .ZIP file
comments, Appendix D for
more information on exit codes.

Memory Requirements

The memory requirements for PKSFX are similar to those of PKUNZIP.

PKSFX Junior, and PKUNZIP Junior require a minimum of 50K RAM free, and a
maximum of 64K RAM free.



















62 Introduction PKZIP 2

USING LIST FILES


PKZIP, PKUNZIP and PKSFX offer a powerful feature; list files. List files are
simply listings of files. They are used to simplify command lines, and make
repetitive tasks less troublesome.

List files can allow you to perform some complex tasks which otherwise would
not be possible. List files can not only be read, but can also be created by
PKZIP and PKUNZIP. Also, list files can be created and used by other programs,
such as StupenDOS", PKZOOM" and PKZMENU".

PKZIP and PKUNZIP use List Files in two ways: files to be included and files
to be excluded. If a List File is being created, the contents will reflect a
listing of those files which would have been added, deleted, extracted or
listed during a normal PKZIP/PKUNZIP operation.

List File text may contain:

-> Comments

-> File Names

-> Wild Cards

-> Exact Path Names and Files

-> Drive Letters

List File text consists of plain ASCII. These files may be created using any
text editor which can produce plain ASCII files, sometimes referred to as "DOS
Text".

All of the following lines would be valid in a List File:

clowns.bmp
*.exe
project.*
MSLR????.QWK
;This is a comment
emp\census.txt ;This is also a valid comment
D:\data\february.wk1
D:\games\majong\*.*
D:\QWK\*.REP

A line in a list file is treated in an identical manner to files specified on
the command line. Note that only files and comments are valid in a list file.
Both forward and backward slashes may be used in a list file.







PKWARE Inc. Using List Files 63


Reading List Files

A list file can be used in two different ways with PKZIP and PKUNZIP:

-> Files to be acted upon in a ZIP operation.

-> Files to be excluded from a ZIP operation.

List files are usually specified with an @ (ASCII 64, normally above the 2 on
your keyboard). The list file character can be changed by modifying the
configuration file. Please note that the list file generation option (-@))
will also change to the selected list file character. Avoid using a character
already used for another option.

The simplest example of using a List File is when a .ZIP file is going to be
created containing the files specfied. If a List File called "test.lst" was
created containing the following lines:

*.COM
300Z.TXT

And then used in a PKZIP command:

C:\>pkzip sample.zip @test.lst

All .COM files in the current directory would be added to the .ZIP file
"SAMPLE.ZIP", as well as the file "300Z.TXT" if it existed.

The contents of a List File that is specified are included. The contents of a
List File specified after a -x are excluded. Multiple List Files to be
included and excluded may be specified on the command line in addition to file
names being listed alone on the command line.

Following are several example usages of List Files, each with a short
description of what action would be caused.

C:\>pkzip first.zip @abc.lst [email protected]

All files specified in "abc.lst" would be added to the .ZIP file "first.zip".
Any files that match the file specification in "xyz.lst" would not be added.

C:\>pkzip second.zip -d @abc.lst -x*.txt

All files listed in "abc.lst" would be deleted from the .ZIP file "first.zip".
Any files matching the "*.txt" specification would not be deleted.

C:\>pkzip -vc third.zip @xyz.lst






64 Introduction PKZIP 2

A file listing with comments will be shown for all files in "third.zip" which
are listed in "xyz.lst"

C:\>pkzip -rp backup.zip *.* [email protected]

A .ZIP file containing the entire drive would be created, excluding any files
which match those in "noback.lst"

** Don't forget to use the @ in front of a list file name. If you do not use
the @, the list file itself will be added to the .ZIP file.

Generating List Files

The Generation of list files can have many uses. Some suggested ways to use
this feature are:

-> Dividing Files to be Zipped into logical groups

-> Easy exclusion of files already Zipped from a PKZIP operation

-> Complex Batch File operations

Keep in mind that a plain ASCII list file can be fed through other programs,
like 'sort', and can be used by some other applications such as StupenDOS or
PKZMENU.

The list file generated by PKZIP or PKUNZIP when the -@ option is used
contains the names of all the files which would have been acted upon in a
normal ZIP operation.

In a simple PKZIP command, the list file will contain a listing of all the
files which would have been archived by PKZIP. If the list file is generated
with a freshen or update command, the list file will contain those files which
would have been added/updated in the .ZIP file.

To generate a list file of your entire C: hard drive:

C:\>pkzip dummy -rp [email protected]

Note that the "dummy" .ZIP file name is necessary to have a valid PKZIP
command.

The list file generated by PKUNZIP will contain those files which would have
been extracted.










PKWARE Inc. Using List Files 65


Using List files to debug

You may find the generation of list files helpful when you are testing batch
files. Let's say you have created a batch file which should compress several
files as a backup procedure. Perhaps these files are very large and it takes
several minutes to compress each one. This means that if you were to test the
batch file simply by running it, it could take quite a while to find a problem
and fix it.

By generating a list file of what would have been compressed, you can check
very quickly to make certain that the proper files are being selected.

List file size

The size of a list file that may be processed is limited. The total size of
the list file depends upon two factors.

The first is path storage. If paths are specified in the list file and are
NOT stored with the -P option, the list file size is limited to 7000 bytes.

If paths are specified and ARE stored, the list file size is limited to 9700
bytes.

If a list file has drive letters specified as part of the file names within
the file, the maximum list file size is reduced. When paths are not stored
the maximum List File size is 5100 bytes. When they are stored the maximum
List File size is 6600 bytes.

Note that this table corresponds to the total size of all list files being
used in a single command.


List File Size Limits No Path Storage Path Storage (-P)

Drive Letters in List File 5100 bytes* 6600

No Drive Letter 7000 9700

*These numbers are approximate and may vary depending on your
configuration.

If the list file is too big, you will receive an "Insufficient Memory" error.
If you have a list file which is too big, you may split it into two or more
smaller list files and perform multiple PKZIP operations.









66 Introduction PKZIP 2


Be Creative

The list file functions give you a whole new level of power with PKZIP. When
defining a problem and searching for a solution, don't forget to consider the
power of these features.

Using the list file features can give you access to new abilities PKZIP would
not have inherently. Here are some example situtations:

Removing Old Files

Suppose a .ZIP file 'work' contains 45 files. The contents of 'work' are
extracted to a work directory and several of the files are deleted. How do
you delete these files that are no longer necessary from the 'work' archive?
Doing it manually would be very tedious.

First create a list of the contents of the directory. By redirecting these
file names to a list file you can capture an image of what needs to be kept in
the .ZIP file.

C:\work>pkzip dummy.zip *.* [email protected]

The list file 'keep.lst' now contains the files we want preserved in the .ZIP
file, files not in this list will be deleted:

C:\work>pkzip work.zip -d *.* [email protected]:\work>del keep.lst

The WORK.ZIP file now contains only those files which are also in the work
directory.

Sorting .ZIP Files

Files will be added to a .ZIP file in the order that they are listed in the
list file. This can be useful if you want the contents of a .ZIP file to be
in a particular order. After generating a list file, bring it into an editor
and modify it to meet your need. To create a .ZIP file that is sorted in
alphabetical order, you would use the following series of commands:

C:\work>pkzip test.zip *.* [email protected]
C:\work>sort < test.lst > sort.lst
C:\work>pkzip test.zip @sort.lst
C:\work>del test.lst sort.lst

The SORT command used above is a standard DOS program. See your DOS
manual for further information on this useful feature.








PKWARE Inc. Using List Files 67

USING DATA ENCRYPTION


The PKZIP utilities offer the ability to protect stored data through
encryption. You should use PKZIP's encryption ability in place of any other
encryption on files you intend to compress.

This encryption ability has been made integral to the function of PKZIP and
PKUNZIP to prevent the encryption from interfering with PKZIP's ability to
compress. If you feel the need to encrypt your data to protect it, and are
intending to compress the data as well, you should then use the encryption of
PKZIP. Using the encryption capability of a spreadsheet or database program
will prevent PKZIP from compressing the data efficiently.

Encryption is enabled in PKZIP by use of the -s option. The encryption key,
sometimes referred to as a "password", follows directly after the -s

C:\>pkzip test.zip -ssecret d:\payroll\*.dbf

Above, all the "dbf" files from the payroll directory have been compressed
into a .ZIP file called "test.zip". During the compression they are also
being encrypted based upon the key of "secret".

The encryption scheme used by PKZIP is complex and robust. The encryption key
is used to generate a number of binary encryption keys which are in turn used
to determine how the compressed data is altered. Neither the original key or
the derived keys are stored with the .ZIP file, nor are they retained anywhere
else for that matter. This means you must remember the encryption key.



IF YOU LOSE THE ORIGINAL ENCRYPTION KEY YOU WILL NEVER BE ABLE TO
EXTRACT THE FILE(S).



It is also not possible to derive the original keys by examining the
compressed data, or by analysis of original data versus encrypted data. This
means that if you loose the key, there is no way to find it. PKWARE Inc. has
no special means or technology for deriving the key or extracting the data
without the key.

Also note that a minute change in the key completely alters the encryption
scheme. This means that the key must be exact. Any change in spelling,
capitalization or punctuation causes a key to be completely different. Be
certain that you know what the encryption key is and will not lose, forget, or
mistype it.







68 Introduction PKZIP 2


DO NOT TRUST YOUR MEMORY ALONE. WRITE IT DOWN.


Capitalization is also important. "Secret", "secret" and "SECRET" are all
completely different encryption keys.
You should realize that a person who knows you could attempt to extract a file
you have encrypted by using words they think you will use or can remember
easily. This would be items such as:

Your Spouse's name

Your Social Security Number

Your Address

Your Dog's name

Etc...

Long Keys

It is possible to have extremely long keys, or keys with spaces in them. The
length of the encryption key is limited only by the length of a DOS command
line. To use a key with spaces in it, you must enclose the password in
quotation marks:

C:\>pkzip test.zip -s"mary had a little lamb" *.dbf

Passwords of this sort may be easy to remember, while proving to be very
secure. Remember to use phrases that are not obvious to someone who knows you.

Complex Keys

If PKZIP or PKUNZIP is specified with only the -s and no encryption key
following, the user is prompted for an encryption key.


















PKWARE Inc. Using Data Encryption 69

C:\>zip test -s *.com

PKZIP (R) FAST! Create/Update Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKZIP/h for help
PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745

Password ? ******

80486 CPU detected.
XMS version 2.00 detected.
Novell Netware version 3.11 detected.
Using Super Fast Compression.

Creating ZIP: TEST.ZIP
Adding: COMMAND.COM Deflating (36%), done.
Adding: 4DOS.COM Deflating (34%), done.

Asterisks are displayed in place of each character as you enter the encryption
key. This feature offers added security in the event somone is watching as
you type in the password.

This method of entry may be easier or more comfortable to use. This also
allows you to enter characters for the encryption key which cannot normally be
entered from the keyboard.

In order to enter one of these characters, hold down the [ALT] key and type
the ASCII value of the character you wish to enter on the number pad. When
you release the [ALT] key the character equal to the value typed will be
entered into the Password field.

The [TAB] key and other keys which could not normally be used since they would
interfere with the PKZIP command line can be used when the password is entered
in this manner.

Passwords entered in this manner are limited to a maximum length of 64
characters.

Multiple Keys

Passwords can be used not only when creating a new .ZIP file but also when
files are being added to an already existing .ZIP file. Let's assume you have
a .ZIP file called "keyfun.zip" and it contains two files:

june91.wk1
june91.wp

We'll also say that neither of these files are encrypted. Now let's add
another file to this .ZIP file, and encrypt it while doing so:

C:\>pkzip keyfun.zip -sPiZzA sensitiv.txt

This will add the file "sensitiv.txt" with a encryption key of "PiZzA".


70 Using Data Encryption PKZIP 2


Now add another file to the same .ZIP file with a different key:

C:\>pkzip keyfun.zip -sDukeNUKE diary.txt

At this point you have four files in "keyfun.zip". Two are not encrypted at
all, and two are, but with different keys. A view of the file would appear
like this:

C:\>pkunzip -v keyfun
PKUNZIP (R) FAST! Extract Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKUNZIP/h for help
PKUNZIP Reg. U.S. Pat. and Tm. Off.

80486 CPU detected.
EMS version 4.00 detected.
XMS version 3.00 detected.

Searching ZIP: KEYFUN.ZIP

Length Method Size Ratio Date Time CRC-32 Attr Name
----- ------- ----- --- -------- ----- -------- ---- ------------
11664 Deflate 6937 41% 01-30-92 11:57 183b5606 --w- JUNE91.WK1
76812 Deflate 23404 70% 01-30-92 12:03 971fea04 --w- JUNE91.WP
5327 Deflate 2082 61% 10-14-91 11:25 924efc72 --w-* SENSITIV.TXT
3664 Deflate 1654 55% 04-04-91 10:32 c8d5c9cf --w-* DIARY.TXT
----- ----- --- ------------
97467 34077 66% 4

Notice the * next to the Attribute column above. This indicates that a file
is encrypted.

Now, if you try to extract the file with no decryption key present you will
only be able to extract the two files that are not encrypted:

PKUNZIP (R) FAST! Extract Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKUNZIP/h for help
PKUNZIP Reg. U.S. Pat. and Tm. Off.

80486 CPU detected.
EMS version 4.00 detected.
XMS version 3.00 detected.

Searching ZIP: KEYFUN.ZIP
Inflating: JUNE91.WK1
Inflating: JUNE91.WP
PKUNZIP: (W12) Warning! Skipping encrypted file: SENSITIV.TXT
PKUNZIP: (W12) Warning! Skipping encrypted file: DIARY.TXT

Extracting the file with a decryption key will extract any file that the key
is valid for, but an error will be reported on any files with a different key.



PKWARE Inc. Using Data Encryption 71


C:\>pkunzip keyfun -sPiZzA -o

PKUNZIP (R) FAST! Extract Utility Version 2
Copr. 1989-1992 PKWARE Inc. All Rights Reserved. PKUNZIP/h for help
PKUNZIP Reg. U.S. Pat. and Tm. Off.

80486 CPU detected.
EMS version 4.00 detected.
XMS version 3.00 detected.

Searching ZIP: KEYFUN.ZIP
Inflating: JUNE91.WK1
Inflating: JUNE91.WP
Inflating: SENSITIV.TXT
PKUNZIP: (W14) Warning! Incorrect password for file: DIARY.TXT


How secure is PKZIP encryption?

There are many factors to consider when using PKZIP encryption. There are
also several levels and implications to consider.

The first level of security is physical. Who has access to the .ZIP file?
You need to be aware of who might be able to get to sensitive data located on
your machine, on your floppies, or on your personal network drive.

The potential hazards of using data encryption cannot be stressed strongly
enough. Make certain that you will be able to recall what was used for the
encryption key. Also be certain that all people who need to be able to access
this data have agreed upon how the encryption will be performed.

It does happen that people encrypt very important data, and then go on
"vacation" to a distant land, or meet their untimely demise, without first
passing on the encryption key. In these sorts of eventualities the data is
gone. So consider well before you encrypt or allow the encryption of
information. If this information is so vital to you that you feel you must
encrypt it, consider what the loss of it would mean to you.

All forms of encryption, including the one used by PKZIP, are open to "brute
force" attacks. This form of attack is simply the trying of many passwords
until you find one that works.

In order to help you protect your data from this sort of attack we present
figures on how long a brute force attack, using a computer, would take. The
scenario we present here assumes that your encrypted .ZIP file is being
assaulted by a program which is designed specifically to do this.

An encryption key may contain any valid ASCII character, not just A-Z in upper
and lower case and punctuation marks. However, most people will just use the
latter. The following table is indexed by the complexity of the password.
Across the top is the range of


72 Using Data Encryption PKZIP 2

characters used. The simplest assumes that only lower case letters from a to
z were used. The next column assumes that all printable characters were used
(a to z in upper and lower case, punctuation, brackets, etc.). The last
column assumes a password containing the complete range of ASCII characters.

The vertical index is the length of the password used. This impacts the
strength of the password greatly. Think of it as a combination lock. A
combination lock with only two numbers would be much easier to break than one
with three or four numbers.

We recommend that if you need a truly secure encrypted file, use an encryption
key of at least six characters.

The last assumption made is about the speed of the attacking program. For the
purposes of this table, we assume that 10,000 possible keys are being
attempted per second.


Password "Hacking" Time

Key 26 characters 96 characters 256 characters
Length (a-z) (a-z,A-Z,etc) (All ASCII)

3 2 seconds 1 minute 27 minutes

4 1 minute 2.35 hours 4 days

5 19 minutes 9 days 3 years

6 8.6 hours 2 years 891 years

7 9 days 238 years 2283 centuries

8 241 days 228 centuries 584,546 cent.

9 17 years 21,945 cent. 149,643,989 cent.

10 447 years 2,106,744 38,308,861,211
centuries centuries




Choose the complexity that you feel meets your needs, but keep in mind all
that has been mentioned about losing and forgetting passwords.

These figures represent the state of technology today. PKWARE Inc. cannot
predict future technologies which may allow faster attempts at decryption of a
.ZIP file.

Note that the above figures do not include the time needed to actually try all
valid passwords. This would increase the time by several hundred percent,
dependent upon the length of the file.


PKWARE Inc. Using Data Encryption 73

PKZIP CONFIGURATION

Configuring PKZIP with PKCFG.EXE and the PKZIP.CFG file

PKZIP can have several of its features configured semi-permanently. These
configuration changes are made through a configuration file called PKZIP.CFG.

This configuration file can be located in one of three places:

1) The current directory
2) A directory specified with the environment variable PKZIP.CFG
3) The directory in which PKZIP.EXE is located

PKZIP will search for the configuration in each location
in the order listed above. This means that you may have a default
configuration file that is easily overridden by using a configuration file in
either of the first two locations.

** Any option that is set in the configuration file may be overridden from
the command line.

The configuration file may either be created manually with a text editor, or
through the use of the included utility, PKCFG.EXE































74 PKZIP Configuration PKZIP 2


PKCFG

The PKCFG program will look for an existing configuration file in the same
locations and order that PKZIP would. If the PKCFG program finds an existing
configuration file it will load it. The existing configuration values will be
shown in place of the defaults.

A list of options will be displayed on the screen. A highlighted cursor
indicates the option you can modify. Use the [UP Arrow] and [DOWN Arrow]
keys to move up and down through the list.

Options may be toggled with either the the [LEFT Arrow] and [RIGHT Arrow] keys
or by pressing the [ENTER] key. Some options have complex possibilities. When
one of these is modified, a small dialog box with options to be changed will
be displayed.

To reset all displayed options to the default values press [F5]. In order to
save the options you have selected to the configuration file, press [F1].
Press [F10] to exit the program. If you exit without saving changes, you will
be prompted.

PKZIP.CFG

The options available in a configuration file are shown in the table on the next
page. The "Default Value" column shows the default value of each option.

The default is the value that would be assumed if the option were not specified
in the configuration file.


** NOTE: PKCFG is included with the registered version of PKZIP, and is
not included with the shareware version.



















PKWARE Inc. PKZIP Configuration 75

Configuration File Options

Option Alternate Value Default Value

ANSI enabled disabled

INCLUDE hidden/system (none)

MASK readonly/hidden/system (none)

RECURSE on off

PATHS all, recurse (none)

ZIPDATE keep, latest current

COMPRESS maximal, fast, speed normal

LISTCHAR (any) @

OPTIONCHAR (any) -

VIEW (Type) brief long

VIEW (reverse sort) reverse (none)

VIEW (sort order) size, date, name, ratio natural
comments, extension

EMS disable enable

XMS disable enable

NET disable enable

DPMI disable enable

386 disable enable


Options separated by a slash / character may be used alone or in combination
with others. Options separated by a comma may not be combined with the
exception of VIEW. With VIEW one option from each of the three categories may
be used in combination.

A configuration file consists of ASCII text. This file may be created with
any text editor that can create a plain ASCII or `DOS Text' file.

Examples

Following are several example configuration files with explanations of what
they would accomplish.


76 PKZIP Configuration PKZIP 2


;Example PKZIP.CFG #1
;Config files may contain comments if they are prefaced by a
;semi-colon
PATHS=recurse
VIEW=brief/reverse/size
COMPRESS=speed

The first example configuration file does the following:

-> Turns on the storage of paths that are found during recursion. This would
make all commands using the -r option behave as though the -rp option was
used.

-> Any view (-v) command used without options will be shown in brief format,
sorted in reverse order of the file size.

-> All commands that do not specify the compression type will use the fastest
(-es) method of compression.

;Example PKZIP.CFG #2
INCLUDE=hidden/system
RECURSE=on
PATHS=all
VIEW=extension
EMS=off
COMPRESS=maximal

The second example configuration file does the following:

-> Causes PKZIP to archive hidden and system files by default. Hidden and
system files are normally skipped by PKZIP and not visible in directory
listings.

-> Any command will behave as though the -r option has been used

-> All paths will be stored, both those specified on the command line and
those found through recursion(-r).

-> Any view (-v) command used without options will be shown sorted in order of
file extension. Note that the view would be long, the default value. If
the view command were specified with -vb using the configuration file, the
view would be brief, but the sort order specified in the configuration file
would still be in effect unless overridden with a command line option.

-> EMS usage is disabled.

-> All commands that do not specify the compression type would use the highest
compression possible (-ex).

** NOTE: The options for zipping to multiple floppy disks are documented
in the ADDENDUM.DOC file.


PKWARE Inc. PKZIP Configuration 77-81

Application for Authenticity Verification

In order to receive a serial number to use with the PUTAV program, please fill
out and return this form to PKWARE. When the enclosed information is
verified, you will receive your serial number from PKWARE.

Please note that this does not constitute a license from PKWARE to distribute
the executable programs PKZIP, PKUNZIP or self-extracting PKSFX files for
commercial purposes. See LICENSE.DOC or contact PKWARE Inc. for more
information about distribution licenses for the software.

Please Read the entire chapter on AV before filling this out.

1) My full registration for PKZIP/PKUNZIP/PKSFX ($47+$3.50 S&H) is enclosed
(circle one) YES NO

If yes, skip to step 3.

2) I have previously fully registered PKZIP/PKUNZIP/PKSFX in the past. The
name under which the software is registered is:

Name:_________________________________________________________________

Company:______________________________________________________________

Title:_____________________________________ Date:_____________________

Address:______________________________________________________________

City:______________________________________ State:____________________

Zip Code: ________________________

Telephone #:(______)__________________ Fax #:(_____)__________________

Approximate date of registration/purchase:____________________________

3) Please list the name that you want displayed by PKUNZIP when an
authentic file created by you is verified (51 characters max).

Since the purpose of the Authenticity Verification feature is to help provide
detection of tampered, hacked or virus infected files, we ask that you provide
only your company's name or individual's name for the AV string.

The "AVEXTRA.TXT" feature was designed to additionally display telephone
numbers, addresses, BBS numbers, BBS nodes or parameter, CompuServe addresses
and similar information.







PKZIP 2

F.A.Q.

(Frequently Asked Questions)

This section lists some common questions about PKZIP and related subjects. We
hope you will find this information helpful.

Why do I get the message "Bad Command or Filename"?
===================================================

If you see this message, DOS is telling you it can't find the program
you are referring to. This can happen because you are either not spelling the
name of the program properly, or you didn't put a space between the program
name and its options, or the program is not in your path.

Please see the Installation section and your DOS manual for more information.

Why is this program so complicated?
===================================

PKZIP initially was used to compress files that would be sent by modem. The
people using PKZIP were mostly hobbyists with a fair amount of computer
experience. PKZIP was designed to be powerful and fast.

Someone who is familiar with the workings of PKZIP can be very efficient with
the command line. The command line interface is vital for automated or batch
use of PKZIP.

Although PKZIP may seem very complex at first, it is easy to master if you
take one step at a time. Start simply by following the Tutorial, then
experiment and build on that knowledge as you need more features.

Users who prefer using Graphical User Interfaces may wish to consider the
"PKZMENU" product from PKWARE. This easy to use menu-driven program offers
PKZIP compatibility. It features drop-down menus and a simple point and shoot
interface.


















82 F.A.Q. PKZIP 2


Why didn't the files I Zipped get any smaller?
==============================================

On occasion, you may find that the files you add to a .ZIP file do not
compress. These files will be "stored". This will happen when a file is
either already compressed or encrypted.

In both cases the redundancy of the file will be gone, making compression
difficult if not impossible. If the file is encrypted you should first save
it without encryption, and then use the encryption feature of PKZIP.

You will often find that files distributed with commercial applications are
already compressed. A common example would be the graphic data files that
come with games like Leisure Suit Larry or Ultima.

I zipped up a bunch of files but now I have LESS disk space!?
=============================================================

When PKZIP compresses files, it makes a copy of the original file. The
original file(s) are still present. If you wish to recover space that was
taken up by the original file(s), you must either delete them yourself, or
instruct PKZIP to delete the file(s) with the -m option.

What's the difference between -u and -f?
========================================

The update and freshen options are very similar. This may be confusing at
first, but the difference between them is fairly easy to understand.

The freshen option will tell PKZIP to archive any files which match those
already in the .ZIP file. These files will only be re-compressed if they are
newer than the files already in the .ZIP file. Each file is evaluated
individually.

The update option will archive all files, with one distinction. If the -u is
not used, all files specified will be compressed and added to the .ZIP file,
even if they already exist in the .ZIP file. By using the -u option, you
instruct PKZIP to compare what is already in the .ZIP file against what it was
asked to compress. If a file is already present in the .ZIP file and is also
in the source directory, PKZIP will compress a file only if it is newer than
the copy of the file within the .ZIP file. If a file in the source directory
is not already present in the target .ZIP file, PKZIP will add it to the .ZIP
file.

Is PKZIP compression "lossy" or "lossless"?
===========================================

PKZIP uses a "lossless" compression scheme. This means that 100% of the
original data is preserved and re-created. There is ...(continued)




PKWARE Inc. F.A.Q 83


absolutely no difference between the data that you put in and the data which
you get back out.

There are other compression methods that are known as "lossy". The idea
behind these compression methods is that if you throw away some of the data,
it becomes less complex and therefore can be compressed more. This type of
compression is only useful for data that need not be precise. This applies to
some applications that use pictures and sound.

How do I zip up subdirectories?
===============================

In order to ZIP up subdirectories you must both recurse subdirectories and
preserve path names. This is done with the -r and -p options in combination.
The options may be placed together as -rp.

When a .ZIP file is created with paths stored, these paths will be visible in
a view of the file (-v).

To re-create these subdirectories, or to place files into their original
subdirectories, the -d option must be used with PKUNZIP.

Please see the tutorial for more information.

I zipped up some subdirectories, but I can't get them to come back?
===================================================================

Did you remember to use the -p option in addition to the -r option? You may
have stored files that are in subdirectories but not preserved the path names
as part of the .ZIP file. To check if there are paths in the .ZIP file, do a
view of the file:

pkunzip file.zip -v

If you do not see paths as part of the file names within the .ZIP file, then
paths were not stored and cannot be recovered. If you do see paths all you
need to do is use the -d (directory creation) option when you extract the
files.

How do I unzip a single file that is in a subdirectory in the .ZIP file?
========================================================================

Extracting a particular file from a .ZIP file is simple. You type PKUNZIP
with the name of the .ZIP file and the name of the particular file you want.
With a .ZIP file that contains paths the procedure is basically the same.

Let's assume a "test" .ZIP file with these files in it:






84 F.A.Q. PKZIP 2

file1.txt
apple\file2.txt
apple\banana\file3.txt

To extract only "file2.txt" from this .ZIP file you must specify the complete
name. This would include the path.

pkunzip test.zip apple\file2.txt

Note there is no leading slash. This is how PKUNZIP differentiates between
the files you are extracting with paths, and the target directory. "file2.txt"
would be extracted to the current directory. If you wanted to extract it with
its subdirectory simply include the -d option on the command line.

How do I unzip a directory without also extracting its subdirectories?
======================================================================

Using the above "test" .ZIP file we could extract the entire contents of the
apple subdirectory easily:

pkunzip test.zip apple\*.* -d

If we did it as shown above we would not only extract all the files in the
"apple" subdirectory, but also the "banana" subdirectory below it and any
files it contains.

To extract only the "apple" subdirectories contents, and nothing else, we must
exclude those directories we do not wish to extract:

pkunzip test.zip apple\*.* -d -xapple\banana\*.*

If the "apple" subdirectory had multiple subdirectories off it you would need
to exclude each one individually on the command line.

What is an AV?
==============

AV is short for "Authenticity Verification". AV is a process whereby a copy
of PKZIP has unique codes and information contained in it identifying the
owner of the copy of PKZIP. This information is then encoded into a .ZIP file
when it is created.

When the file is extracted by PKUNZIP, this information is checked. If the
.ZIP file has been modified by a copy of PKZIP other than the one which
initially created it, PKUNZIP will report that the file has been tampered
with.

The advantage of this feature is to offer a layer of protection between the
creator of an archive and the recipient. The recipient knows that the file
received is the file that was sent, as well as being able to identify the
creator if it is not known.



PKWARE Inc. F.A.Q 85

Where is my AV number?
======================

As a licensed user of PKZIP you are entitled to one AV number. In order to
receive an AV number, you must apply for it.

If you have a need to create AV encoded .ZIP files, fill out the form
contained in the file "authveri.frm" found in your PKZIP archive. Mail or fax
this form to PKWARE. Please allow up to four weeks for processing time, plus
mail delays. The codes needed to install your AV number will be returned to
you via US Mail. AV codes will not be returned by FAX, telephone, or any
means other than US Mail.

Please note that although the initial AV code is included with your purchase
of a PKZIP license, changes or re-issues of an AV code may be at an additional
cost.

** You must apply for your AV number. The serial number on the disk PKWARE
sent to you has no relation to the AV number. The AV number is based
solely on the information you provide for your AV identification string on
the AV application form.

I forgot my password, what do I do?
===================================

1. Read the chapter "Using Data Encryption"
2. Try to remember the password.
3. Try passwords that are "close" to what you think it was.
4. Try mixed upper and lower case versions of your password.

** There really is nothing that can be done if you lose or forget your
password. Don't forget or lose your passwords! PKWARE has no special
means for "getting around" the encryption and may not be able to assist in
the recovery of an encrypted file.


YOU SHOULD KEEP A WRITTEN COPY OF YOUR PASSWORD(S) IN A SECURE
PLACE. DO NOT TRUST YOUR MEMORY ALONE.


What does "Don't Know How to Handle" mean?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are many different methods of compression. In the history of PKZIP
alone there have been seven different methods to date. The .ZIP file format
was designed so that additional methods of compression can be added as they
are developed. In this way the .ZIP file format will never need to be
abandoned. If you attempt to extract a .ZIP file that was created with version
2.0 or higher with a lower version of PKUNZIP you will receive the message
"Don't Know How to Handle" for every file compressed with a more advanced
algorithm.




86 F.A.Q. PKZIP 2


If you attempt to extract a .ZIP file created with a version of PKZIP that
includes a method PKZIP 2.0 does not use, you will receive a warning that will
tell you what version of PKUNZIP you need.


What is a CRC and why did it fail?
==================================

CRC is short for Cyclic Redundancy Check. A CRC is a value computed to
represent the data content of a file. The CRC is computed by PKZIP when it
archives the file, and computed a second time when the file is extracted. If
the second CRC does not match the first CRC, then a change has occurred in the
data. The cause of a CRC failure can vary. Here are some possible causes for
CRC failures.


I. Failure on the machine that created the .ZIP file.

A. Failure immediately after creation.

1. On a 386/486 or higher there may be an obsolete or poorly written
TSR or device driver interfering with PK(UN)ZIP. Use the -3
option with both PKZIP and PKUNZIP to see if this is the problem.
Consult the Trouble Shooting section for more information.

2. "Clean boot" your machine. Either re-name your autoexec.bat and
config.sys files so that they are not loaded, or insert a DOS boot
floppy and reset your machine. Attempt extraction and compression
of the file again.

3. The floppy/hard disk controller may be failing. See if there is
any difference in behavior if you compress to/from the hard disk
or floppy drive.

4. Failing diskette media.

5. A bad memory chip.

6. Your computer is suffering from the "cache flaw". This is caused
by problems with the external CPU cache on your computer's
motherboard. See the Trouble Shooting section, -( option.

B. Failure after a period of time.










PKWARE Inc. F.A.Q 87


1. Any the above causes.

2. The file has been damaged during the time it was stored on the
hard disk. The can be caused by cross-linking or "lost" clusters.
Some faulty disk-defragmenters and deletion recovery programs may
cause this.

3. Deleting and then undeleting a .ZIP file. "Undelete" programs are
by no means flawless. An undeleted or recovered file is very
likely to fail, as most disk recovery programs are imperfect at
best.

II. Failure on a network server.

A. Some network server software does not run properly on 386/486
machines. If PKZIP is used on the server CPU running this faulty
network software, it will be interfered with by the network software.

III.Failure after transfer of a file by modem.

A. Any of the problems cited in section I may be the cause of a failure.

B. There was an error in the transfer of the file. Use an "error-
correcting" protocol such as ZMODEM to avoid these types of problems.

C. The file was transferred with "Kermit". If you use Kermit you must
set it to Binary mode. PKZIP files are binary.

D. One of the computers or modems involved in the transfer has a problem.

IV. Failure after transfer by disk.

A. Any of the problems cited in section I may be the cause of a failure.

B. Faulty disk controller/floppy drive.

C. Faulty floppy disk.

1. The drive alignment between the two computers may be off enough to
cause a data error. Normally you will get a "disk failure"
message from DOS.

2. The disk was damaged by a magnetic or heat source.

3. The disk media is worn out or defective.








88 F.A.Q. PKZIP 2


What do "Bad Table" and "Inconsistent Local Header" mean?
=========================================================

If you receive either or both of the above messages, the .ZIP file is damaged
or has been tampered with. These messages may also be accompanied by a CRC
failure.

All of the physical causes listed for CRC failures apply as possible causes of
these errors.

How can I make PKZIP run faster?
================================

PKZIP defaults to a compression method that is average in both compression
amount and speed. If you want to get the most speed out of PKZIP there are
several things you can do:


1. Specify a faster compression method with the -ef or -es option.

2. Use a large RAM disk as your temporary files drive.
PKTMP=(RAM disk drive letter)

3. If you are creating the .ZIP file on a network drive, set your PKTMP
equal to a drive on the same server.

4. Make as much conventional memory available as possible.

How many files can be in a .ZIP file?
=====================================

A .ZIP file may contain a maximum of 16,383 file entries under MS-DOS. Due to
memory limitations this limit cannot actually be realized. Under the current
memory scheme of DOS the largest number of files which may be in a .ZIP file
is approximately 9000 files.

The maximum number of files you can handle with a .ZIP file operation can be
calculated by the following formulas:

With No EMS or UMB's available:

(Free Conventional RAM - 375k) / 64 bytes = Maximum # of Files

With EMS available:

(Free Conventional RAM - 85k) / 64 bytes = Maximum # of Files

The "Super Fast" algorithm uses 32k less RAM than the other methods in PKZIP
2. You will be able to compress an additional 500 files when using the "Super
Fast" method.

Note that the value of 64 bytes per file is approximate and may vary.


PKWARE Inc. F.A.Q 89


When a .ZIP file is being updated, you must not only take into account the files
being added, but allow 70 bytes per file in the original .ZIP file.

Can I send a .ZIP file to a different type of computer?
=======================================================

As of the publication of this manual, PKWARE currently supports PKZIP
on MS-DOS and OS/2 platforms, PKWARE intends to support additional platforms
and will announce these as they become available.

Because PKWARE has dedicated the .ZIP file format to the public domain, it is
possible for other people to write programs which can read .ZIP files.


NOTE THAT THE PKZIP, PKUNZIP, PKSFX PROGRAMS AND THEIR ASSOCIATED
SOURCE CODE AND SUPPORT PROGRAMS ARE THE EXCLUSIVE PROPERTY OF PKWARE
INC. AND ARE NOT PUBLIC DOMAIN SOFTWARE PROGRAMS.


We are currently aware of PKUNZIP compatible programs for a number of
different platforms. A .ZIP file can be transferred to any platform for which
you can find a compatible extraction program.

Extraction and Compression programs not developed by PKWARE may not be
completely compatible with the .ZIP file standard.

Contact PKWARE for a list of platforms for which PKZIP and PKZIP compatible
software is available.

What is the difference between -b and pktmp?
============================================

PKZIP creates two different types of temporary files, and allows
you to specify the location for these two types separately. The two
situations where PKZIP creates temp files are:

* When a file is being added to a .ZIP file.

* When a .ZIP file is being modified.

It is advantageous to have the temporary files for the first instance written
on the fastest drive on your system, unless you are creating a .ZIP file on a
Novell Network.

The location for the temporary .ZIP file created when a .ZIP file is modified
is normally the same as the location of the original file. In some cases you
may not have enough room on that drive. When this occurs use the -b option to
relocate the temp file.





90 F.A.Q. PKZIP 2

HOW DOES PKZIP WORK?


This section has been omitted from the shareware manual to reduce the
download transmission time. This section is contained in the registered
version.
















































PKWARE Inc. How Does PKZIP Work? 91-100

TROUBLE SHOOTING


This section offers some hints to aid you in locating and solving problems.
Part of this section includes PKZIP and PKUNZIP command line and configuration
file options that apply only to locating problems.

Problem Solution/Reason See Also

"Error in .ZIP If you are just creating a .ZIP file for Use Tutorial
use PKZIPFIX" the first time and receive this error,
When compressing your command line is wrong.

"Warning:Bad PKZIP or PKUNZIP is not in your path, or Use Tutorial
Command or File you have mis-typed the command.
Name"

CRC Failure Get a new copy of the file. F.A.Q. Page XX

File does not File is already compressed or is encrypted F.A.Q. Page XX
compress

Files are still PKZIP copies files by default, to move PKZIP -m
there after (delete) them, use the -m option. page XX
being Zipped

Disk Full error Either the .ZIP file you are creating is PKZIP Backup
too large to fit on the disk, or you do Guide
not have enough room to update an existing
.ZIP file. Create a multi-volume .ZIP PKZIP -b page
file or use an alternate temporary drive. XX

Can't find PKSFX There is no program called PKSFX. PKSFX PKSFX/ZIP2EXE
refers to a "Self-extracting .ZIP file". page XX
That is a .ZIP file that has been made
into an executable file with the program
ZIP2EXE.EXE

I have lots of Although PKZIP uses XMS/EMS memory, there "Using List
memory, but I'm are limitations that will occure due to files"
getting an your base (conventional) memory being page XX
"Out of memory" limited. Try to clear up as much memory as
error? possible. If you are attempting to
compress more than 8,000 files at once you
will usually receive this error.

Can't re-create Make certain you are using the -d option. F.A.Q. XX
subdirectories If you are, and you still have this
or return files problem, subdirectories may not have been
to their stored in the .ZIP file.
original dirs



PKWARE Inc. Trouble Shooting 101


_____________________________________
-3 Disable 32-bit instruction usage

This option is available for users with 80386/80486 type computers. It is
used to turn OFF the added 32-bit instructions and register usage. When 32-
bit instructions are available, PKZIP will utilize them to allow the program
to function even faster. However, if you are running a different program that
may conflict with the use of 32-bit instructions, you can disable them by
using this command.

32-bit instructions will be disabled only for the current PKZIP operation.
They will then be enabled immediately after the command operation is
completed.

You can also disable 32-bit instructions all the time by using the PKNO386
environment variable. To set the environment variable, type PKNO386=ON. If
the string PKNO386 is present in the environment, then PKZIP (and PKUNZIP)
will not use 32-bit instructions or registers.

To enable 32-bit instructions after they have been disabled, type:

SET PKNO386=[ENTER].

If you have persistent problems with another piece of software interfering with
PKZIP, and you cannot upgrade or discard that software, you may turn off 32-bit
instructions in the configuration file. The pkzip.cfg option line is:

386=DISABLE

Note that the configuration file is read only by PKZIP. PKUNZIP can only be
set permanently by use of the environment variable.

You may override the configuration file or environment variable on PKZIP by
using a -3+ option. This will cause PKZIP to use 32-bit instructions
regardless of the environment variable being set, or an entry in the
configuration file.

_____________________________________
-^ Echo the command line

This option is used to display the PKZIP command that you entered on the
console. It is useful when you are debugging an application or batch file
which calls PKZIP. The file specifications that you entered will be echoed on
the console along with the command output.

In this example, technical information about all of the *.doc files included
in the DOCS.ZIP file will be displayed. The information will be sorted by
date, and the command line will be redisplayed on the screen above the output.

E:\>pkzip docs.zip -vd -^ *.doc



102 Trouble Shooting PKZIP 2


_____________________________________
-+ Disable EMS usage
-- Disable XMS/UMB usage

To use EMS/XMS/UMB features PKZIP and PKUNZIP require:

-> XMS version 2.0 or greater

-> EMS LIM 4.0 or greater

An XMS driver is required in order to have UMB and HMA support available.

PKZIP/PKUNZIP will use up to 256K of EMS memory. If you are in a situation
where you need to preserve EMS memory for other use, such as when running a
multi-node BBS system, you may wish to disable this feature.

A conflict with your XMS/EMS driver can be eliminated by disabling EMS usage.
Problems relating to EMS usage would manifest themselves as:

-> Unexplainable machine lock-up.

-> Receiving "Warning:Bad Table" and "File fails CRC check" for every file in
a .ZIP file being extracted.

EMS or XMS usage can be turned off in the configuration file with the
pkzip.cfg option:

EMS=DISABLE

XMS=DISABLE

If EMS has been disabled in the configuration file, you may force usage back
on with the -++ option.

If XMS has been disabled in the configuration file, you may force usage back
on with the --+ option.
_____________________________________
-~ Disable Network detection

When this option is specified, Network specific operations are disabled. If
you feel you are experiencing problems due to a conflict with the Network
specific operations use this option.

If the problem is persistent enough that you wish to disable Network
operations all the time, you may do so with a configuration file command:








PKWARE Inc. Trouble Shooting 103


NET=DISABLE

If Network support has been disabled in the configuration file, you may force
usage back on with the -~+ option.
_____________________________________
-) Disable DPMI Support

PKZIP and PKUNZIP require 32-BIT DPMI 0.90 or greater.
DPMI support uses an extra 6.5K of conventional or UMB memory. If you are
extremely tight on memory you may wish to disable DPMI support.
If a failure occurs in the DPMI Support it can be disabled with this option.

DPMI=DISABLE

If DPMI has been disabled in the configuration file, you may force usage back
on with the -)+ option.
_____________________________________
-( Use "Slow" MemCopy

Some computers suffer from a flaw that causes them to have errors when
performing simple MemCopy functions. This problem is generally caused the the
manufacturer's use of inferior grades or speeds of RAM chips for the external
CPU memory cache on the motherboard.

This behavior will most commonly be seen on on relatively fast machines
(486/25 and higher).

This feature is only available on 486 (or higher) CPU's.

This problem will most frequently exhibit itself in the form of unexplainable
CRC failures.

Use of this switch causes PKZIP to manipulate memory in a way that is less
susceptible to this problem. Note that the added overhead in this process may
slow down PKZIP by 20% to 40%.

SLOWMEMCOPY=ON

If normal MemCopy has been disabled in the configuration file, you may force
usage back on with the -(+ option.

PKUNZIP has been designed to be mostly immune to this problem.

Please note that the external CPU cache has no relation to printer or disk
caches.








104 Trouble Shooting PKZIP 2


PKWARE CUSTOMER SUPPORT FORM


Please photocopy and complete this form as completely as possible before
contacting our customer support. By providing this information you help us to
provide assistance in an efficient and exact manner.

It is recommended that you first fax this form, then call PKWARE customer
support. Indicate on this form that you will be calling.

If sending your problem by fax only, please specify how you would like to be
contacted.

**Please Print or Type, use "fine" fax mode if possible.**

PKWARE Inc.
9025 N. Deerwood Dr.
Brown Deer, WI 53223
(414)354-8699
(414)354-8559 FAX
(414)354-8670 BBS

Problem Description

Be sure to include the following. Use as many additional sheets as necessary

-> What you are trying to do

-> What do you expect to happen

-> What did happen and why it is a problem

-> Copies of CONFIG.SYS, AUTOEXEC.BAT and any error messages




















PKWARE Inc. Trouble Shooting 105-106

ERROR MESSAGES

The following error messages may appear when using PKZIP. When the word
"WARNING" appears in the message, program execution will continue. Otherwise
the program will abort to DOS.

Each warning message is prefaced with an error code. This error code consists
of the letter 'E' or 'W' and a number. The letter corresponds to whether the
error indicates a "Warning" or "Error" condition. The number corresponds to
the DOS error level that would be returned.

Errors are listed in order of return code or warning level.

A brief explanation of each message follows.



PKZIP Error Messages
~~~~~~~~~~~~~~~~~~~~

PKZIP: (E01) Can't create: XXXXX.

The named file could not be created. Either the target directory is full or
the file already exists and is read-only or locked by another application. On
a Network you may receive this message if you do not have file creation rights
in the directory.


PKZIP: (E[2,3]) XXXXX.ZIP - error in ZIP, use PKZIPFIX.

The named .ZIP file has a corrupted file index. Use PKZIPFIX to attempt
reconstruction of the .ZIP file. In some cases the damage to the .ZIP file
may be very extensive. If the file is too badly damaged PKZIPFIX will not be
able to recover the file.

NOTE: Many novice users receive this message because of improper command line
syntax. If you specify a command line with only one file name following PKZIP
and it is NOT a .ZIP file you will receive this message. PKZIP assumes that
the file is a .ZIP file because you specified it as the first file name on the
command line, and it attempts to place all files from the current directory
into that file. Upon examination of the file it will not find any .ZIP file
information (due to its not being a .ZIP file) and will then report this
message. Please see the tutorial for further information.


PKZIP: (E[4-11]) Insufficient memory.

Insufficient memory is available to process the .ZIP file. Try making more
memory available to PKZIP. If this does not rectify the problem then the .ZIP
file might be corrupted and PKZIPFIX should be used to fix the .ZIP file. If
you are creating a new .ZIP file and receive this



PKWARE Inc. Error Messages 107

message, it is due to an attempt to ZIP a large number of files. Reduce the
scope of your command and try again. If you are using a LIST file in your
PKZIP command you may be receiving this error because the LIST file is too
large. See "List Files" for more information.

PKZIP: (E12) No file(s) found.

No matching files were found to list using the View option. This means the
filespec you specified on the command line has no match within the .ZIP file.

PKZIP: (E12) No files specified for deletion!

The -d (Delete) option was specified but no filenames were given to delete.
This option does NOT default to *.* if no filenames are given. See the -d
option on page 32 for further information.

PKZIP: (E12) Nothing to do!

No matching files, or files with the specified attributes, or files after the
specified date etc., were found to compress. Often you will receive this
message because the command line you entered is not correct. Check the exact
name of the file you are specifying as well as the path, if any.

PKZIP: (E13) Can't find: XXXXX.ZIP.

The named .ZIP file could not be found. Either it does not exist or is not in
the specified directory.

PKZIP: (E14) Insufficient disk space for ZIP comment.

There is insufficient disk space to hold the comment as entered. You will need
to move the .ZIP file somewhere with more free space, or clear up more storage
space in its current location. Note that a temporary copy of the .ZIP file is
not created. The .ZIP file comment is appended directly to the existing .ZIP
file.

PKZIP: (E14) Insufficient disk space for updated file: XXXXX.ZIP.

The -b option was used, and there is not enough space on the original drive
containing the .ZIP file to receive the updated .ZIP file. (The update
operation has added additional or larger files to the .ZIP file, causing it to
grow larger than the original). Try to free up some space on the drive
containing the .ZIP file, and retry the operation. Also, make sure that the
drive specified with the -b option is different than the drive containing the
.ZIP file.

PKZIP: (E14) Disk full, file: XXXXX.

A disk full error occurred while writing to the specified file. Try freeing
up some disk space on the target drive. Also, see the -b option and the PKTMP
environment variable.



108 Error Messages PKZIP 2


PKZIP: (E15) Can't open XXXXX.ZIP for write access!

The named .ZIP file is read-only or locked by another application and can not
be modified. This may also occur on a Network drive if you do not have
adequate access to that file to allow you to modify it.


PKZIP: (E17) Too many files!

An attempt was made to compress more than 16,383 files at one time. This
message could be received if you update a .ZIP file which has a corrupted
central end directory.


PKZIP: (E24) Fatal EMS error: XXXXXXXX
PKZIP: (E25) Fatal XMS error: XXXXXXXX

An error has occured in the interaction between PKZIP and your EMS or XMS
handler. You may have a faulty EMS/XMS driver.

To be able to use PKZIP in spite of this problem, disable EMS/XMS usage with
either the - + or - - option or the configuration file options EMS=DISABLE and
XMS=DISABLE.

Please contact PKWARE Technical Support with a description of the situation in
which the error occured, the brand and version of your EMS driver, and the HEX
code printed at the end of this error message.


PKZIP: (E26) Warning! DOS 3.0 or later needed to span disks

DOS versions below 3.0 do not support the features needed by PKZIP in order to
span a .ZIP file across multiple disks. You will need to upgrade to a newer
version of DOS in order to make use of this feature.

PKZIP: (E27) Warning! Non-removable or unsupported device

.ZIP files can only be spanned to a device which supports multiple storage
units (i.e. multiple floppy disks can be inserted in series into a floppy
drive). The device must also be a standard writable DOS device. .ZIP files
may not be spanned onto a device such as a Hard drive which cannot be removed.












PKWARE Inc. Error Messages 109

PKZIP Warning Messages
~~~~~~~~~~~~~~~~~~~~~~

PKZIP: (W01) Warning! Can't open XXXXX.CFG

When PKZIP runs it looks for a configuration file. The three places that
PKZIP will look for it's configuration file are: The current directory, the
directory where PKZIP.EXE is located, and the directory pointed to by the
environment variable PKZIP.CFG.

If the PKZIP.CFG environment variable is set, and PKZIP cannot locat a
configuration file in any of the three places it looks, you will receive this
error message.


PKZIP: (W02) Warning! Can't open XXXXX

This error usually occurs on Networks where you either do not have read access
to a file or another process/user has the file open in an exclusive mode.

If the file is held open by another process you may be able to overcome this
problem by using the -= switch.

PKZIP will exit with an error level of 18 when this warning is received.


PKZIP: (W03) Warning! Can't delete XXXXX.

The -m (Move) option was specified to delete files after the .ZIP file was
constructed. However, the named file could not be deleted, and is probably
read-only. You may also receive this message if the file is on a network
drive and you do not have access to delete the file, or it is locked by
another application.





















110 Error Messages PKZIP 2

PKUNZIP Error Messages
~~~~~~~~~~~~~~~~~~~~~~

PKUNZIP: (E[4-8]) Warning! Insufficient memory.

Insufficient memory is available to process the .ZIP file. Try making more
memory available to PKUNZIP. If this does not rectify the problem, then the
.ZIP file might be corrupted, and PKZIPFIX should be used to fix the .ZIP
file. The more files present in a .ZIP file, the more memory it will take to
process the file.

In some cases the .ZIP file may be too complex. Too many files are contained
within the .ZIP file for PKZIP to handle. This may occur if the .ZIP file is
created under an operating system other than DOS.


PKUNZIP: (E09) Can't open: XXXXX.ZIP.

The named .ZIP or list file(s) could not be found. It does not exist, was
spelled incorrectly, or is not in the specified directory.


PKUNZIP: (E09) Can't find: XXXXX

PKUNZIP was unable to locate the specified .ZIP or @list file. The filespec
specified was in error or a disk error has occured.


PKUNZIP: (E11) No file(s) found.

No files were found to extract, test, update or list. The filespec specified
on the command line does not match any files present in the .ZIP file, or all
files found could not be extracted due to an incorrect password or
incompatible compression type.


PKUNZIP: (E50) Disk full, file: XXXXX.

There is not enough free room on the destination drive/directory for the file
being extracted. The program will abort and exit to DOS.














PKWARE Inc. Error Messages 111

PKUNZIP Warning Messages
~~~~~~~~~~~~~~~~~~~~~~~~

PKUNZIP: (W[01,02]) Warning! File has bad table

The Imploded file being tested or extracted has an error in its encoding. The
file is probably corrupt or not a .ZIP file. Files that have been damaged in
this way cannot be recovered.

PKUNZIP: (W03) Warning! File has bad table

The Reduced file being tested or extracted has an error in its encoding. The
file is probably corrupt or not a .ZIP file. Files that have been damaged in
this way cannot be recovered.

PKUNZIP: (W04) Warning! XXXXX.ZIP - error in ZIP, use PKZIPFIX.

The named .ZIP file has a corrupted file index. Use PKZIPFIX to reconstruct
the .ZIP file. You may also receive this message if you attempt to extract a
file which is not a .ZIP file.

If the file is less than 22 bytes in length it cannot be a .ZIP file and the
"use PKZIPFIX" message will not be shown.

PKUNZIP: (W[05-07]) Warning! Insufficient memory

Insufficient memory is available to process the .ZIP file. Try making more
memory available to PKUNZIP. If this does not rectify the problem, then the
.ZIP file might be corrupted, and PKZIPFIX should be used to fix the .ZIP
file. The more files present in a .ZIP file, the more memory it will take to
process the file.

In some cases the .ZIP file may be too complex. Too many files are contained
within the .ZIP file for PKZIP to handle. This may occur if the .ZIP file
was created under an operating system other than DOS.

PKUNZIP: (W08) Warning! Can't open XXXXX.ZIP
PKUNZIP: (W09) Warning! Can't open printer device

The named file or printer device could not be opened. Either a disk error
occurred, or the file is locked by another application. You may receive this
error on a network drive if you do not have read access to that file.

The printer device may not exist, or may be off-line.

PKUNZIP: (W10) Warning! Can't create: XXXXX.
PKUNZIP: (W10) Warning! Invalid file name: XXXXX.

The named file could not be created. The output directory is invalid because
it does not exist, is spelled incorrectly, or is full. You may also receive
this message on a Network drive if you do not have file creation rights there
or the directory is full.


112 Error Messages PKZIP 2

In the case of an invalid file name error, the name stored in the .ZIP file is
invalid. This may indicate a damaged .ZIP file, or one that has been tampered
with.

PKUNZIP: (W11) Warning! I don't know how to handle: XXXXX.

The file XXXXX is compressed or encoded in a way that this version of PKUNZIP
is unable to handle. Either a different version of PKUNZIP is required to
properly extract this file, or the .ZIP file is possibly corrupted.

PKUNZIP: (W12) Skipping encrypted file.

Only the files that are password protected will be skipped (not extracted)
because they are encrypted and the correct password was not entered.

PKUNZIP: (W13) Warning! Inconsistent local header for file: XXXXX.

The local header for file XXXXX is different than the central header
information. Use PKZIPFIX to reconstruct the .ZIP file.

PKUNZIP: (W14) Incorrect password for file.

The .ZIP file is password protected, and cannot be opened unless the correct
password is entered. The password entered is not the correct password. See
"Passwords" in the Advanced Features section for further information.

PKUNZIP: (W15) Warning! File fails CRC check.

The CRC-32 check for the file being extracted or tested did not match the
stored value for the file. The file is probably corrupted. See the "Trouble
Shooting" section for more details.

PKUNZIP: (W16) Warning! File fails Authenticity Verification check

The .ZIP file is AV encoded but the AV could not be verified. Failure of AV
indicates a file which has been tampered with or damaged. If the file has
failed the AV check the contents are suspect.

PKUNZIP: (W17) Warning! File fails Authenticity Verification check

The .ZIP file is AV encoded and has been tampered with or damaged. File
should be discarded and a new copy obtained.

PKUNZIP: (W18) Warning! File XXXXX already exists. Overwrite (y/n/a/r)?

The file XXXXX already exists on the disk. Pressing N will leave the original
file on the disk, and not extract the file from the .ZIP file. Pressing Y
will extract the file from the .ZIP file, and overwrite the file on the disk.
If you want to overwrite this file, and ALL FOLLOWING FILES, press A for ALL.
If you wish to extract this file, but not overwrite an existing file, you may
press R for RENAME. PKUNZIP will prompt you for a new name for the file. See
Also: -o and -n options.


PKWARE Inc. Error Messages 113


PKUNZIP: (W19) Warning! Invalid Shrunk file

The Shrunk file being tested or extracted has an error in its encoding. The
file is probably corrupt or not a .ZIP file. Files that have been damaged in
this way cannot be recovered.

PKUNZIP: (W20) Warning! Insufficient memory

Insufficient memory is available to process the .ZIP file. Try making more
memory available to PKUNZIP. If this does not rectify the problem, then the
.ZIP file might be corrupted, and PKZIPFIX should be used to fix the .ZIP
file. The more files present in a .ZIP file, the more memory it will take to
process the file.

PKUNZIP: (W21) Warning! File has bad table.

The Deflated file being tested or extracted has an error in its encoding. The
file is probably corrupt or not a .ZIP file. Files that have been damaged in
this way cannot be recovered.

PKUNZIP: (W23) Warning! File has bad table.

The Deflated file being tested or extracted has an error in its encoding (bad
block type). The file is probably corrupt or not a .ZIP file. Files that
have been damaged in this way cannot be recovered.

PKUNZIP: (W24) Warning!
You need PKUNZIP version: X.X or later to extract XXXXX

The file XXXXX is compressed or encoded in a way that this version of PKUNZIP
is unable to handle. A more recent version of PKUNZIP is required to properly
extract this file. The version number is listed as X.X. Contact PKWARE for
upgrade information.

PKUNZIP: (W25) Warning! .ZIP file comment too big

The file comment attached to this .ZIP file is too large. The .ZIP file can
still be handled normally but will not be displayed.

PKUNZIP: (W26) XXXXX.ZIP has errors.

The named .ZIP file had one or more errors detected in it. This message is
displayed after PKUNZIP is finished acting upon a file. You may receive this
message if you attempt to extract a file that is not a .ZIP file.









114 Error Messages PKZIP 2


ZIP2EXE Error Messages
~~~~~~~~~~~~~~~~~~~~~~

ZIP2EXE: (E01) Error in .ZIP file
ZIP2EXE: (E02) Error in .ZIP file, use PKZIPFIX

The .ZIP file you are attempting to process is corrupt. You may attempt
recovery of the file by using PKZIPFIX. PKZIPFIX will work on either standard
.ZIP files or self-extracting .EXE files.

ZIP2EXE: (E03-04) Insufficient memory to process file

The .ZIP file you are attempting to process is too complex. This may indicate
a .ZIP file which contains too many files. In some cases you may receive this
error because the file being processed is corrupt.

ZIP2EXE: (E07) Can't open Source file

The source .ZIP or .EXE file specified on the command line cannot be opened
due to a disk error or insufficient network access.

ZIP2EXE: (E08) Error in .ZIP file

The .ZIP file you are attempting to process is corrupt. You may attempt
recovery of the file by using PKZIPFIX. PKZIPFIX will work on either standard
.ZIP files or self-extracting .EXE files.

ZIP2EXE: (E09) Disk full writing target file during EXE to ZIP process
ZIP2EXE: (E11) Disk full writing target file during ZIP to EXE process

During the process of converting a file there must be enough disk space
available to contain both the original file and the file which will be
created. If there is not enough room to process the file on the current drive
you may direct the output to another drive by specifying it on the command
line.

ZIP2EXE: (E12) Compression method not supported

The .ZIP file being converted contains a file compressed with a method not
supported by the version of PKSFX being attached by ZIP2EXE.

You can only perform the ZIP2EXE process on .ZIP files created using the
compression method(s) supported by the self-extracting module you are
attaching.









PKWARE Inc. Error Messages 115

PKSFX Warning/Error Messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PKSFX: (W01) File fails CRC checkPKSFX: (W01) Unknown compression method

A warning may indicate any of several problems. See the corresponding PKUNZIP
error message for explanation.

PKSFX: (E03) Can't find .EXE file

The self-extractor was unable to locate itself. When the self-extractor runs
it must determine what the name of its executable file is. Anything which can
prevent this from happening will generate this error.

This error usually indicates an incorrect installation of DOS on the target
machine.

PKSFX: (E[4-8]) Insufficient memory

Insufficient memory is available to process the .ZIP file. Try making more
memory available to the Self-extractor. If this does not rectify the problem,
then the self-extracting file might be corrupted, and PKZIPFIX should be used
to fix the .EXE file. The more files present in a self-extracting .ZIP file,
the more memory it will take to process the file.

PKSFX: (E09) Unable to locate listfile

The @list file specified on the command line could not be found.

PKSFX: (E13) Error in .EXE file

The self-extracting file is corrupt. This may occur due to a disk error, a
transmission error, or a software problem.

PKSFX: (E50) Disk full

The self-extractor has run out of space while extracting the files it
contains. You may either free up more disk space or direct the self-extractor
to place the files on a different drive.















116 Error Messages PKZIP 2

PKSFX/PKUNZIP Junior Error Messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PKSFXJR: (W01) Warning error

A warning may indicate any of several problems. See the corresponding PKUNZIP
error message for explanation.

PKSFXJR: (W02) Can't find .EXE file

The self-extractor was unable to locate itself. When the self-extractor runs
it must determine what the name of its executable file is. Anything which can
prevent this from happening will generate this error.

This error usually indicates an incorrect installation of DOS on the target
machine.

PKSFXJR: (W03) Error in .EXE file

The self-extracting file is corrupt. This may occur due to a disk error, a
transmission error, or a software problem.

PKSFXJR: (W04) File has a bad table

The compressed data is corrupt. This can indicate a damaged self-extracting
file or data that was originally corrupt when the self-extracting file was
created.

PKSFXJR: (W05) Can't create file

The self-extractor was unable to create a file it intended to extract. This
may occur because you either do not have sufficient rights to a directory, or
because all the directory entries are full.

PKSFXJR: (W06) Disk full

The self-extractor has run out of space while extracting the files it
contains. You may either free up more disk space or direct the self-extractor
to place the files on a different drive.

PKSFXJR: (W07) Too many files

A junior self-extractor may only contain 512 or fewer files. This error
indicates either that more than 512 files are within the self-extractor or
that the file is corrupt.









PKWARE Inc. Error Messages 117

Error Levels
~~~~~~~~~~~~

In order to enhance the power of using PKZIP and PKUNZIP from within another
program or within a batch file, they return error levels. These error levels
are listed below.

** Please note that if testing error levels in a batch file, DOS tests the
error level not for equality, but for greater than or equal to.


PKZIP:
0 No error.
1 Bad file name or file specification.
2,3 Error in .ZIP file.
4-11 Insufficient Memory.
12 No files were found to add to the .ZIP file, or no files
were specified for deletion.
13 File not found. The specified .ZIP file or list file was
not found.
14 Disk full.
15 .ZIP file is read-only and can not be modified.
16 Bad or illegal parameters specified. (help screen displayed)
17 Too many files.
18 Could not open file.
255 User pressed control-c or control-break


PKUNZIP:
0 No error.
1 Warning error (such as failed CRC check).
2,3 Error in .ZIP file.
4-8 Insufficient Memory.
9 File not found. No .ZIP files found.
10 Bad or illegal parameters specified. (help screen displayed)
11 No files found to extract/view etc.
50 Disk Full.
51 Unexpected EOF in .ZIP file.
255 User pressed control-c or control-break















118 Error Messages PKZIP 2


ZIP2EXE:
0 No error
1 Error in .ZIP file
2 Error in .ZIP file, use PKZIPFIX
3-4 Insufficient memory to process file
7 Can't open Source file
8 Error in .ZIP file
9 Disk full writing target file during EXE to ZIP process
11 Disk full writing target file during ZIP to EXE process
12 .ZIP file being converted contains a file compressed with a
method not supported by the version of PKSFX being
attached by ZIP2EXE
13 User answered "NO" in response to an "overwrite(y/n)?" prompt


PKSFX:
1 Warning error such as:
File fails CRC check, Unknown compression method.
3 Can't find .EXE file
4-8 Insufficient memory
9 Unable to located listfile
12 User aborted at comment pausing "Extract now (y/n)?" prompt
13 Error in .EXE file
50 Disk full


PKSFX/PKUNZIP Junior:
1 Warning error such as:
File fails CRC check, Unknown compression method.
2 Can't find .EXE file
3 Error in .EXE file
4 File has a bad table
5 Can't create file
6 Disk full
7 Too many files
8 User aborted at comment pausing "Extract now (y/n)?" prompt

















PKWARE Inc. Error Messages 119

PK SAFE ANSI

PKSFANSI.COM

PKSFANSI (PK Safe ANSI) is a Terminate and Stay Resident program that disables
ANSI Keyboard Key Reassignments, thereby preventing "ANSI bombs" embedded in
any text file (such as README files) or output by any program.

Normally, ANSI sequences that redefine the keyboard could be hidden inside ANY
text file or program, and could be executed completely unnoticed until it is
too late. PKSFANSI intercepts calls to the ANSI.SYS or other ANSI device
drivers, and filters out any keyboard reassignments, while allowing other ANSI
sequences through unaltered.

If a keyboard key reassignment is attempted, PKSFANSI will intercept the
sequence and discard it. PKSFANSI also will BEEP to alert you that a
reassignment was attempted.

PKSFANSI requires less than 1k bytes resident RAM, and should work with any
ANSI driver, such as the standard ANSI.SYS driver, NANSI, ZANSI, DVANSI, etc.
Note that if you use a memory resident ANSI driver, such as the DESQview
DVANSI.COM driver, PKSFANSI should be loaded after the ANSI driver is loaded.

Usage

Add PK Safe ANSI to your AUTOEXEC.BAT command file. Early in your
AUTOEXEC.BAT file add the line:

C:\PKWARE\PKSFANSI.COM This will cause the PK Safe ANSI TSR to be

loaded into memory, allowing you to safely use ANSI codes. Once this is
installed you may wish to turn on ANSI in your PKZIP configuration file. There
should be this line present in your PKZIP.CFG file:

ANSI=ENABLED

To turn on ANSI for a particular PKZIP operation, or for a PKUNZIP operation,
use the command option -q.

pkunzip -v test.zip -q














120 PK SAFE ANSI PKZIP 2


Monochrome

Option PK Safe ANSI has one option. This option will cause PK Safe ANSI to
discard color codes. This is useful if you are using a laptop computer with a
monochrome display.

PKSFANSI -c

Please note that this only affects programs which use ANSI for their display
control.

NOTE: PK Safe Ansi is included with the registered version of the software.









































PKWARE Inc. PK SAFE ANSI 121


INDEX



-! Use AV feature 44

32-bit Instructions, Disabling 102
386/486 Instructions See 32-Bit 102
@List files 45
@List See List Files

---
| A |
---

Addendum File 7
ANSI
Comments, enabling
and disabling 37
Enabling during PKUNZIP 52
Archive file structure 95
Archive attribute
-a+ Turn off archive attribute
of added files 30
Defined 34
Clearing 30
Turning off (-i) 34
Attrib DOS command 27
Authenticity Verification See AV
AUTOEXEC.BAT, Changes to 6
AV
Application form 81
Defined 78, 85
Using 78, 79
PUTAV 78

---
| B |
---

Bad Command or Filename 82
Bad Table 89
Banner, PKZIP 10, 23
BBS
PKWARE 3
Support Conferences 3
Bracket
Angle 2
Square 2
Brief View 40

---
| C |
---

Cache failure (CPU) Slow MemCopy 104
Checking a .ZIP file See Testing
Command Syntax 2
Comment
.ZIP file 27 - 28, 43-44
Adding 31
Displaying 28
Maximum size 28, 43
Per file 27
Compatibility mode 47
Compression
Displaying method 41
How it works 91-95
Lossy and Lossless 83
Specifying Method 32
Speed vs. Size 21-23
Theory 91-95
Type 23
Configuration options 76
Configuring PKZIP 74-77
Console, extracting file to 48
Conventions 1
CRC
Defined 11
Failures explained 87
Failures, disabling 32-bit
instructions 102
Viewing 40-41
Creating file comments 31
Customer Support 3, 105-106
Customer Support Form 106
Cyclic Redundancy Check See CRC

---
| D |
---

Date
Compressing by range 38-39
Format 38-39
of .ZIP file 36
Delete
Files while compressing 32, 12-13
From a .ZIP file 19,32
Files with a list file 67
Directory
of a .ZIP file 40-41
Restoring structure 48-49
See also Path
Disable ANSI 37
Disk Full, Overcoming 30-31
Disk Space, Conserving 30-31, 32
Don't Know How to Handle 86
DPMI, Disabling 104

---
| E |
---

EMS, Disabling 103
Encryption 38
Decrypting encrypted files 53
Lost password, what to do. 86
Security 72-73
Using 68
Error Levels
(Exit Codes) 118
PKSFX 119
PKSFX/PKUNZIP Junior 119
PKUNZIP 118
PKZIP 118
ZIP2EXE 119
Error Messages 107 - 119
Error Levels 118
PKSFX 116
PKSFX Junior 117
PKUNZIP 111-114
PKUNZIP Junior 117
PKZIP 107-109
ZIP2EXE 115

Exclude
Files from extraction 55
From ZIP process 43
List files from extraction
process 55
List files from ZIP process 43
Exit Codes See Error Levels
Extra Compression 32-33
Extract
Files to printer 52
In sorted order 49-50
Newer files only 51
To console 48
Extracting files 13

---
| F |
---

Fast Compression 32-33
File Attributes
Defined 26
Masking 34-35
Masking during extraction 51
Restoring during extraction 51
Retaining 34-35
Storing 26
Viewing 40-41
File Comments 27-28
File List See List File
Freshen 83
a .ZIP file 33-34
Files in extract directory 50

---
| H |
---

Help
Displaying help screen (-h) 34, 50
For PKUNZIP (-h) 50
Trouble Shooting 101 - 106
Hidden Files 34-35
Compressing 26, 42
Restoring 51

---
| I |
---

Inconsistent Local Header 89
Information Content 91-92
Installation 5 - 7

---
| J |
---

Junior
Error Messages 117
PKSFX 57-58
PKUNZIP 58

---
| L |
---

Label, Volume See Volume Label
List Files
Excluding 43
@List File 45
Excluding from Extraction 55
Generating 46-47, 56, 65
Maximum size 45, 66
Possible contents of 63
Reading 64-65
Specifying 44-45
Using for compression 64
Locked files, Overcoming with -= 47

---
| M |
---

Manual Conventions 1
Maximum
Number of files in a .ZIP file 89
Size of .ZIP file comment 43-44
Size of list file 45, 66
Maximum Compression 32-33
Memory
Requirements of PKSFX 62
Usage of PKZIP 89
Multi-Volume See also PKZIP Backup Guide

---
| N |
---

Network
Disabling Network detection 103-104
Failure of PKZIP on server 88
Overcoming file locking 47
Never overwrite files 51
New files, Extracting 51
Normal Compression 32-33

---
| O |
---

Optimizing PKZIP 89
Order
of extraction 49-50
of View sort 40-42
Overwriting files (-o) 51

---
| P |
---

Password See Encryption
Path
Defined 5
Extracting from a .ZIP file 18
Modifying 6
Restoring 84
Restoring structure 48-49
Storing 36-37
Storing in a .ZIP file 16
Storing with recursion 37-38
PK Safe ANSI 120
PKSFX
Command Summary 59
Creating a Self-Extracting file 57
Error Messages 116
Junior 57-58
Legal Use of 61
Memory Requirements 62
Options 59
Sending to somone else 60-61
PKTMP 47, 89

PKUNZIP
-$ Restore Volume Label 55
-@ Generate List file 56
-c extract files to console 48
-d Restore directory structure 48-49
-e Sorted extraction 49-50
-f Freshen extract directory 50
-j Mask of file attributes 51
-n Extract only newer files 51
-o Overwriting files 51
-o- Never overwrite files 51
-p Extract files to the printer 52
-q ANSI disabling/enabling 52-53
-s Extract encrypted files 53
-t Test .ZIP file integrity 54
-v View a .ZIP file 55
-x Exclude files 55
Error Messages 111
Junior 58
Warning Messages 112-114

PKZIP
-! Use AV 44
-$ Store Volume label 46
-& Create multi-volume archive 45-46
-= File compatibility mode 47
-@ generate List file 46
-a+ Turn off archive attribute
of added files 30
-ac Create/Edit file comments 31-32
-b Create temporary .ZIP file 30-31
-C Add file comments to new
files only 31-32
-c Create/Edit file comments 31-32

-d Deleting files from a .ZIP file 32
-e[x|n|f|s|0] Specify
compression method 32-33
-f Freshen file in a .ZIP file 33-34
-i Add files that have the
archive attribute 34
-jh,r,s Specify masking of file
attributes 34-35
-k Retain original .ZIP file date 35
-m Move file 35-36
-o Set .ZIP file date 36
-P Preserve specified and
recursed path 36-37
-q ANSI comments 37
-r Recurse subdirectories 37-38
-s Encrypt files 38

-t Take files according to date 38-39
-u Update files 39-40
-v View files 40-42
-W Specify hidden and
system files 42-43
-x Exclude files 43
-z Create or modify .ZIP file
comment 43-44
@ specify list file 45
Banner 23
Configuration file 74-77
Error Messages 107-109
How does it work? 91-100
Simple Commands 10
Warning Messages 110
PKZIP Configuration File 75
PKZIP Configuration Program 74
PKZIP.CFG 75
PKZIPFIX See the PKZIP Backup Guide
Printer, Extracting files to 24, 52
Printer Dump 24
Product Support 3
PUTAV See AV

---
| R |
---

Read Only
Defined 26
Files 34-35
Restoring files 51
Storage of attribute 26
Reading, Suggested 29
Recurse subdirectories 37-38
Restoring Volume Label 55

---
| S |
---

Scramble See Encryption
Self-extracting 57
Sort
Order of extraction 49-50
Order of View 40-42
Speed Of Compression 21
Speed vs. Size, Theory 21, 95
Storing (archive method) 32-33
Subdirectories 84
Storing 36-38
Suggested Reading 29
Super Fast compression 32-33
Support, Technical 3
Syntax 2
System Files 34-35
Restoring 51
Compressing 42-43

---
| T |
---

Technical Support, CompuServe 3
Technical View 40-42
Temporary .ZIP file location 30-31
Testing 15, 54
.ZIP files 54
Tree Storing structure 18-19
Tutorial 8 - 29

---
| U |
---

Update 83
See also Freshen
Update files 39-40

---
| V |
---

View
a .ZIP file 11-12
Compressed files 25
Options 40-42
Sort order 42
Volume Label
Defined 25
Restoring 55
Saving and Restoring 25
Storing 46

---
| W |
---

Wildcards
Defined 8
See DOS manual for usage
---
| X |
---

XMS, Disabling 103

---
| Z |
---

.ZIP file , Date 35
.ZIP file comment 43-44
ZIP2EXE 57
Error Messages 115




 December 23, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)