PKZIP and PKUNZIP
PKZIP FOR Windows
Version 2.70 is the latest version of PKZIP for Windows and is meant to be used for users using Microsoft Windows and includes some of the below features.
- The ability to create self extracting EXE files
- Support for ZIP, TAR, GZIP, MIME, BinHex, UUecode, and XXencode
PKZIP FOR DOS
Version 2.50 is the latest version of PKZIP for DOS and is used at the command line of MS-DOS and includes the below features.
- Supports long file names
- Capability of compressing over 16,000 files
- Additional compression options
- Continues to use 2.04g command line syntax
- Y2k Compliant
PKZIP for Windows
Currently no known issues
PKZIP for DOS
How do I ZIP files that are larger than one diskette onto multiple diskettes?
To do this, you would use the below syntax.
pkzip [directory] [diskfilename] -&.
pkzip c:\windows\*.* a:\windows.zip -&.
The -& is the important part of the above line and is telling pkzip to place your files onto multiple disks.
Will I be able to unzip a program with WinZip I zipped in PKZIP?
Assuming the file was zipped correctly, any file with the .zip extension can be pkunziped, as well as unzipped in WinZip or any other compression utility that can read .zip files.
Do you have a listing of available switches used at the command line?
PKUNZIP (R) FAST! Extract Utility Version 2.04g 02-01-93
Corp. 1989-1993 PKWARE Inc. All Rights Reserved. Registered version
PKUNZIP Reg. U.S. Pat. and TM. Off.
Usage: PKUNZIP [options] zipfile [@list] [files...]
|-c[m]||Extract files to Console [with More]|
|-d||Restore/create Directory structure stored in .ZIP file|
|-e[c|d|e|n|p|r|s]||Extract files. Sort by [CRC | Date | Extension | Name| Percentage | Reverse | Size]|
|-f||Freshen files in destination directory|
|-j|J<h,r,s>||Mask|don't mask <Hidden/System/Read-only> files (def.=jhrs)|
|-n||Extract only newer files.|
|-o||Overwrite previously existing files.|
|-p[a/b][c][#]||Extract to Printer [Asc mode,Bin mode,Com port] [port #]|
|-q||Enable ANSI comments|
|-s[pwd]||Decrypt with password [If no pwd is given, prompt for pwd]|
|-t||Test .ZIP file integrity|
|-v[b][r][m][t]||View .ZIP [Brief][Reverse][More][Technical] sort by [CR.||
|-x<filespec>||Exclude file(s) from extraction|
|-$||Restore volume label on destination drive.|
|[email protected]||Generate list file|
-3 Disable 32-bit instruction usage on 80386 or higher CPU's
-^ Echo the command line
-+ Disable Expanded Memory (EMS) usage
-- Disable UMB/HMA Memory (XMS) usage
-) Disable 32 bit DPMI usage
You can default any of these options with the PKUNZIP environment variable. Consult the file ADDENDUM.DOC for further information.
9025 N. Deerwood Drive
Brown Deer, WI 53223
How PKZIP and most other compression software work:
How Does PKZIP work? PKZIP uses several methods of compressing data by using seek out and eliminate redundant information within a file. With the redundant material removed, the file takes up less space. And because the information was redundant, PKUNZIP can restore that material when it unzips your file.
For example, consider the line below:
The rain in Spain falls mainly on the plain.
Normally the above statement would take 44 or more bytes of disk space because of the amount of words in the document. But this simple line contains a surprising amount of repetition. The letters "i n" and the space after the word "in" are repeated at the ends of the words "rain" and "Spain" in the sentence. The letters "ain" occurs four times, the two-character sequence "n" plus a space occurs twice, and the three-character sequence "he" plus a space occurs twice. What if you replaced each duplicate occurrence of one of these strings with a special code, called a token, that would stand for the duplicated numbers? Each token would contain a much shorter number combination that told you how many characters (including spaces) to count backwards in the string and how may characters were duplicated. Then the line would look like:
The rain <3,2>Sp<9,4>falls m<11,3>ly on<16,2>t<34,3>pl<15,3>.
Data compression works because the string's original form can be reconstructed based on tokens, for example, when PKUNZIP encounters <3,3>, it counts back three characters from the beginning of the token and replaces the token with the tree characters it finds there. Tokens are recorded in a file by means of a special technique that enables them to be stored in less space than the bytes they replace. In other words, a token such as "3,3" can be stored in less space than three bytes it replaces. If the token took up more space than the bytes it was replacing, there wouldn't be any point in using it. The key to data compression is the ability to search a string of bytes, identify any duplicated sequences, and replace the repeated bytes with short tokens. With only 44 bytes to work with, a short string like the example above must have lots of duplication if the data compression is going to be worthwhile. But the longer the string, the more likely it is to contain receptive information that can be replaced with tokens.