PKXARC 1 FAST! Archive Extract Utility Version 3.5 04-27-87 Table of Contents ----------------Topic ----- Page ---- Features and Overview .............................. 2 Using PKXARC ....................................... 3 Examples ........................................... 4 Using PKXARC in a batch file ....................... 5 Multitasking and Network support ................... 5 PKXARC messages .................................... 6 PKXARC Revision history ............................ 7 General Information ................................ 11 Software License ................................... 12 Page PKXARC 2 FAST! Archive Extract Utility Version 3.5 04-27-87 Features -------o THE FASTEST ARCHIVE EXTRACTION - EVER. o Data integrity ensured by 16 bit Cyclic Redundancy Check. o Supports the PKARC file squashing and archive comment features. o Decrypts files encrypted with the PKARC encryption option. o Superior file buffering. o Multitasking and Network support. o Not Copy Protected Overview -------An archive is a collection of one or more files placed into a single archive file. A file extension of .ARC is usually used to denote an archive. Each file in an archive is compressed to save disk space, backup storage space, and file transfer time. When a file is archived, it is analyzed and compressed with the most optimal data compression method for that file. Every file in an archive is stored with a 16-bit Cyclic Redundancy Check (CRC) to ensure data integrity when the file is extracted from the archive. PKXARC is a FAST! archive extraction utility that extracts files from an archive and restores them to their original name, size, time and date. It is completely compatible with SEA's (Software Enhancement Associate's) ARC program and PKWARE's FAST! archive create/update utility PKARC, but is many times faster than SEA's ARC program and faster than ANY OTHER archive extract utility. PKXARC achieves its speed through the use of C language with highly optimized assembly language routines, and advanced file buffering techniques. Page PKXARC 3 FAST! Archive Extract Utility Version 3.5 04-27-87 Page Usage: PKXARC [options] archive [d:\path] [file...] Options are: -r = replace existing file(s) -v archive(s) -c = extract file(s) to the screen -p printer -t = test archive integrity -l -e,-x = extract file(s) -g<password> = extract garbled file with = verbose listing of = extract file(s) to the = display software license password archive Archive file name, wildcards *,? ok. is .ARC Default extension d:path\ Output drive and/or path. Note that only one output path can be specified, and it must be seperated from the list of files to extract by one or more spaces. The output path can be anywhere on the command line after the options though. file Name(s) of files to extract, list, or test. Wildcards *,? okay. Default is ALL files. -r Normally, PKXARC will prompt you with "Overwrite?" if extracting a file from an archive will overwrite an existing file. The Replace option will overwrite existing files without query. -c This option will extract files to the screen. -p This option will extract files to the printer. print a form feed after each file. -t This option will test archive integrity. Particularily, PKXARC will calculate each files CRC value and compare it with the stored value within the archive. A message will be displayed to indicate the integrity of each file. -v This option is used to list the contents of an archive. It will list the filename, length of file before compression, method of compression, size after compression, compression ratio, and the stored CRC value. -l This option will display PKWARE's software license and address. -e These options will extract files from an archive. PKXARC will This is the -x default for PKXARC if no other options are specified. The -e and -x options do not have to be specified for this. They are only present for compatibility with SEA's ARC program syntax. The -e and -x options can not be used with other options. -g<password> Extract encrypted (garbled) files with the given password. PKXARC 4 FAST! Archive Extract Utility Version 3.5 04-27-87 Examples: PKXARC a:* b: - Extract all files from all extracted files on drive B:. archives on drive A: storing PKXARC sigdir1 c: - Extract all files from the archive SIGDIR1.ARC in the current drive & subdirectory storing extracted files in the current directory on drive C:. PKXARC c:\lotus\tax *.wks - Extract all .WKS files from archive C:\LOTUS\TAX.ARC storing extracted files in the current drive & subdirectory. PKXARC -r c:\public\* d:\ *.doc *.txt - Extract all .DOC and .TXT files from all archives in the directory C:\PUBLIC, storing the extracted files in the root directory of drive D:. Overwrites existing files in D:\ without query. PKXARC -v c:\download\* - Display a verbose listing of C:\DOWNLOAD. all archives in the directory PKXARC -c utility *.doc - Extract all .DOC files form the archive UTILITY.ARC displaying extracted files on the console. PKXARC -p utility *.doc - Same as above, except extracted files are sent to the printer. PKXARC -t utility -Test the integrity of the archive UTILITY.ARC. PKXARC -t c:\download\* -Test the validity of all archives in the directory C:\DOWNLOAD. PKXARC -gsecret private - Extract all the files from the archive PRIVATE.ARC using SECRET as the decryption password. Note that the password is NOT case sensitive. The "-g" option must be the last option specified, and must be immediately followed by the password without intervening spaces. Page PKXARC 5 FAST! Archive Extract Utility Version 3.5 04-27-87 Page Using PKXARC in a batch file --------------------------If you are using PKXARC from a batch file, you can test if PKXARC experienced an error using the DOS errorlevel variable. PKXARC returns zero errorlevel if no errors have occurred. If an error occurred, PKXARC will return the following error codes: abort 2 3 4 5 6 7 - exit codes: out of memory no archives found to extract can't open archive file read error on archive internal table overflow disk full non-abort (warning) exit codes: 1 - bad CRC, file is not an archive, unknown compression method, can't create a file, squeeze table is invalid or no files found to extract. Mulitasking and Network Support ------------------------------PKXARC automatically opens all archives with SHARE "deny write access" under DOS 3.0 or above, so that they can be read concurrently by other tasks. This is especially useful when using PKXARC on Local Area Networks (LANs) or with multi-tasking software. PKXARC 6 FAST! Archive Extract Utility Version 3.5 04-27-87 PKXARC messages --------------Warning! File XXXXXXXX.YYY already exists! overwrite (y/n)? - A file to be extracted from the archive already exists on disk. Answer "y" to extract the file from the archive anyway and overwrite the existing file, "n" to not extract the file from the archive. Use the "-r" command line option to suppress this warning. Unknown packing method for: XXXXXXXX.YYY - The file is compressed or encoded in a unknown way. The archive is either corrupt or requires a later version of PKXARC for proper extraction. Warning! File XXXXXXXX.YYY fails CRC check - The Cyclic Redundancy Check calculation did stored value. The file is probably corrupt. not match the XXXXXXXX.YYY is not an archive - The file specified is either not an archive, or is corrupt. Archive length error - A end of file token was not found archive. The archive is corrupt. for a file within the PKXARC: can't find XXXXXXXX.YYY - The given archive filename could not be found. PKXARC: Can't read archive: XXXXXXXX.YYY - The archive could not be opened. PKXARC: Can't create: XXXXXXXX.YYY - The output file could not be created. invalid or full. The output directory is PKXARC: File has invalid decode tree - The Huffman decode tree for the file is invalid. is corrupt. The archive PKXARC: Disk full - The destination disk is full. PKXARC: Internal table overflow - An internal decode table overflowed. The archive is corrupt. Page PKXARC 7 FAST! Archive Extract Utility Version 3.5 04-27-87 PKXARC history -------------Soon after the archive file format was introduced into the public domain, it became popular and many BBS files were transfered this way. The archive format is a convenient way to put several files into one and compress them for effecient disk storage and reduced transfer time, in one step. However, the archive utility was much slower at extracting files than equivalent UnSQueeze type programs. In the inevitable quest for faster archive file extraction, PKXARC was created. Changes in PKXARC version 3.5 ----------------------------Extraction of Crunched files are up to 25% faster is up to 50% faster than ever before. and unSquashing New -e and -x options have been added for ARC compatibility. The DOS switch seperator. character The '-' character can be character for options. is used now in supported addition as to a valid option the DOS switch The -g "arc garble" decryption option is supported. Both '/' and '\' characters are allowed in pathnames. Multitasking and Network support has been added to PKXARC. Wildcard file matching using '?' in the extension now works exactly like DOS directory wildcard matching. To help facilitate the automated use of PKXARC, PKXARC will no longer abort to DOS when a bad archive is encountered, but will continue on to the next archive. PKXARC's return codes have been extended to include errors that do not cause PKXARC to abort immediately (warnings). Damaged archive handling has been vastly improved. PKXARC will no longer hang up on badly damaged, truncated, or encrypted archives. In addition, PKXARC will automatically skip bad archive headers and will attempt to extract as many files from a damaged archive as possible. Page PKXARC 8 FAST! Archive Extract Utility Version 3.5 04-27-87 Page Changes in PKXARC version 3.4 ----------------------------Support of "squashed" files created by PKARC 2.0 has been added. Squashing is a variation of Dynamic Ziv-Lempel-Welch encoding which can yield a 10% or better compression ratio for large text files. Squashed files typically unsquash 15% faster than equivalent crunched files. In order to be consistent with the command syntax of PKARC, the requirement for dashes ("-") to be given before individual filenames to extract or list has been removed. Error recovery for damaged archives has been improved. Previous versions of PKXARC would occasionally hang up while processing damaged archives. PKXARC version 3.4 has improved error recovery allowing at least the partial extraction of files from a damaged archive. Changes in PKXARC version 3.3 ----------------------------Support of the PKARC archive comment feature was added. PKXARC will automatically display an archive comment if it is present in an archive. When extracting files to the printer, form-feed character after each file. PKXARC will now print a Extraction speed has been increased by 5% for Crunched files. Changes in PKXARC version 3.2 ----------------------------The archive test function "/t" was added to PKXARC. This function tests the integrity of the archive without extracting the files to disk. Specifically, the CRC for each file is computed and compared against the correct value stored in the archive. Extraction speed has been increased by 5% for most files. PKXARC 9 FAST! Archive Extract Utility Version 3.5 04-27-87 Changes in PKXARC version 3.1 ----------------------------A minor bug in the pattern matching code for individual file specifications when using the wildcard "*" was fixed. For example, previous versions of PKXARC would not correctly match "flight*.com" to the exact filename "flight.com". This has been corrected in PKXARC version 3.1. The verbose archive listing now displays the total number of files in the archive. Extraction speed has been increased methods. 5-10% for all decompression A "jr" version of PKXARC was created for computers with limited memory. PKXARCjr requires only 74K of free memory to run, but is slightly slower than the standard version for most archives. Both versions will run on any type of computer providing there is sufficient free memory. Changes in PKXARC version 3.0 ----------------------------The following functions have been added to PKXARC version 3.0: Extraction of files to the console or printer. The ability to display a verbose archive listing. Changes in PKXARC version 2.7 ----------------------------Extraction performance of Squeezed files has been improved more than 60%. PKXARC version 2.7 can extract a Squeezed file more than 8 times faster than ARC 5.1. The message displayed when a file is being extracted has been enhanced to indicate the compression method used to store the file. Message ------Extracting un-Packing uncrunching compression. unSqueezing Meaning ------The file was Stored. The file was Packed with non-repeat packing. The file was crunched with old style Ziv-Lempel-Welch The file was Squeezed with Huffman encoding. Page unCrunching The file was Crunched with Dynamic Ziv-Lempel-Welch compression. unSquashing The file was Squashed with Dynamic Ziv-Lempel-Welch compression. PKXARC 10 FAST! Archive Extract Utility Version 3.5 04-27-87 Changes in PKXARC version 2.6 ----------------------------Extraction performance for all compression types has been significantly improved over PKXARC version 2.5. Files that are crunched with older versions of ARC (pre 5.x) extract 5% faster. Squeezed files extract 15% faster. Files that are Crunched with ARC 5.x extract 20% faster. Changes in PKXARC version 2.5 ----------------------------The ability to extract specific files was added. PKXARC can now be passed the specific names of files to be extracted from an archive on the command line. Changes in PKXARC version 2.4 ----------------------------Performance for extracting dynamic Ziv-Lempel files has been improved. Files which are identified as "Crunched" (with a capital C) on the ARC verbose listing extract 15-20% faster than before. When a "Disk full" error occurred, previous versions of PKXARC would leave an empty or incomplete file on the disk. PKXARC now deletes any incomplete files before aborting with a "Disk full" error. Changes in PKXARC version 2.3 ----------------------------The ability to extract dynamic Ziv-Lempel-Welch encoded files was added. Version 5.0 of ARC introduced a new, more efficient variation of Ziv-Lempel "Crunching". PKXARC can now extract files Crunched with this method, approximately 3 times faster than ARC 5.1. Page PKXARC 11 FAST! Archive Extract Utility Version 3.5 04-27-87 General Information ------------------PKXARC will run on any IBM PC/XT/AT/RT/jr/Portable/Convertible or any MS-DOS compatible computer running PC/MS-DOS 2.0 or higher with a minimum of 128K free RAM. IBM is a registered trademark of the International Business Machine Corporation. MS-DOS is a registered trademark of Microsoft Inc. If you have any questions or comments about PKARC send them to Phil Katz at: RBBS-PC of FARGO, Loren Jones SYSOP Fargo, North Dakota 701-293-5973 300/1200/2400 baud, 24 hours a day or Exec-PC IBM BBS, Bob Mahoney SYSOP Shorewood, Wisconsin 414-964-5160 300/1200/2400 baud, 24 hours a day Special thanks to Loren Jones, Bob Mahoney, Alan Losoff, Gene Alm, Mike Shawaluk, Paul Waldinger, Arny Krueger, Mark Tellier, Joe Vincent, David Wyatt and all those who have helped with the PKXARC effort. Page PKXARC 12 FAST! Archive Extract Utility Version 3.5 04-27-87 Page License ------Copyright (c) 1986,1987 PKWARE, Inc. All Rights Reserved. You are free to use, copy and distribute PKXARC for noncommercial use IF: NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION. IT IS NOT MODIFIED IN ANY WAY. Clubs and user groups may charge a nominal fee (less than $10) for expenses and handling while distributing PKARC. Site licenses, commercial licenses and custom versions of PKARC and PKXARC are available. Write to the address below for more information. This program is provided AS IS without any warranty, expressed or implied, including but not limited to fitness for a particular purpose. If you find PKXARC fast, easy, and convenient to use, a contribution of $20 would be appreciated. With each contribution of $45 or more you will be registered to receive a diskette with the next version of PKARC and PKXARC when available. Please state the current versions of PKARC and PKXARC that you have. Send contributions to: PKWARE, Inc. 7032 Ardara Avenue Glendale, WI 53209