Qunzip Version 1.20 Copyright (c) 1991 - 1994 by Michael Leavitt, All Rights Reserved Quick Command Reference: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Usage: QUNZIP [-options] zipfile [destination] [filespecs...] [-options]: -e extract files (default) -b use BIOS video -d create directories stored in zipfile -f freshen existing files, create none -j[h,r,s] restore file attributes [hidden, read only, system] -n never overwrite existing files -o overwrite files without prompting -s suppress zipfile comment display -t test zipfile integrity -u update files, create if necessary -v[b,m] view zipfile contents [Brief, with More] -x extract files (default) -z display zip comment only -3 disable use of 32-bit instructions -$ extract volume label The option letters must be preceded by a minus sign (-) or slash (/); multiple options can follow one minus sign / slash, or each option can have a minus sign / slash in front of it. Options are not case sensitive, and upper and lower case can be mixed on the command line. A detailed description of the options can be found later in this document. zipfile: The name or pathname of the zipfile(s) to process. The .ZIP extension will automatically be added to this name if you do not specify an extension. Self-extracting ZIP files are also supported; be sure to include the .EXE extension for these. DOS 'wildcards' can be used to specify more than one zipfile to process. [destination]: Optional drive letter or subdirectory path where Qunzip will place the files it extracts from the zipfile. If no destination directory is specified, Qunzip will place the extracted files in the current directory by default. [filespecs...]: Optional list of files to extract from zipfile. You may use DOS 'wildcards' to specify a group of files, or list the individual filenames to extract. If no filenames are given here, Qunzip will extract the entire contents of the zipfile by default. Program License Information: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Qunzip Version 1.20 is copyrighted commercial software. You are granted a limited license to use this program in conjunction with Sparkware's 1st Reader, and in compliance with the usage restrictions of 1st Reader. You may not copy this program or its documentation for any purpose other than backup purposes. Distribution of this program or its documentation to persons other than registered users of 1st Reader is expressly prohibited and is a violation of federal law. Michael Leavitt, the author of the Qunzip code, and Sparkware hereby disclaim all warranties relating to this software, whether expressed or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. Neither the author nor Sparkware will be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if the author, Sparkware, or an agent of the author or Sparkware has been advised of the possibility of such damages. In no event shall the author's or Sparkware's liability for any damages ever exceed the price paid for the license to use the software, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software. Program Description: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Qunzip will list, test, or extract files from a ZIP file. Zipfiles created by any version of PKZIP (or compatible) thru version 2.04 are fully supported with two exceptions: encrypted files are not supported, and AV codes are not recognized. Qunzip automatically detects the type of CPU that it is running on, and takes advantage of the capabilities of each to the fullest. Qunzip provides a colorful pop-up display that includes an animated extraction status display. This allows Qunzip to be run as a shell process from another program and appear to be an integrated part of that program. Qunzip gives fast performance rivaling PKUNZIP, but uses much, much less memory when operating. Qunzip does not need or use EMS or XMS memory, and only needs 105K of free DOS memory to run. Qunzip is a '32-bit clean' application, and will run under Windows or OS/2 in protected mode just as well as it runs under DOS. Qunzip can successfully process damaged or non-standard ZIP files automatically. In many cases, all files can be extracted from a corrupted or 'foreign' zipfile with a minimum loss of data. Environment Variable Options: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Qunzip's default behavior may be modified via options placed into the QUNZIP environment variable. This can be done with any option, but it is probably most useful with the -b, -o or -n options in order to make Qunzip use video BIOS by default, or to make it always overwrite or never overwrite files as it extracts them. For example, if your display type requires that you use the -b option when you use Qunzip, you can add this line: SET QUNZIP=-b To your AUTOEXEC.BAT file and Qunzip will then use the video BIOS by default. Environment options are an extension of the command line options; any Qunzip options contained in the QUNZIP environment variable are considered as being the first options on the command line. You can override environment options by including the same option with a trailing minus sign on the command line; the trailing minus sign tells Qunzip to turn off that option. For example, if you have set the QUNZIP environment variable to -n so that Qunzip will never overwrite files by default and wish to override that setting when you unzip a file, just include -n- on the command line and the -n option will be turned off. Examples: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To use Qunzip to extract the contents of MYFILE.ZIP to the current directory: QUNZIP myfile To extract the contents of MYFILE.ZIP to the \TEMP subdirectory: QUNZIP myfile \temp To extract all .EXE files from MYFILE.ZIP to the current directory: QUNZIP myfile *.exe To extract all .EXE files from MYFILE.ZIP to the \TEMP subdirectory: QUNZIP myfile \temp *.exe To extract the contents of MYFILE.ZIP to the directories stored in the zipfile, creating directories as needed: QUNZIP -d myfile To test MYFILE.ZIP: QUNZIP -t myfile To view the contents of MYFILE.ZIP: QUNZIP -v myfile To extract only newer versions of the files already in the current directory from MYFILE.ZIP without prompting: QUNZIP -fo myfile To extract newer versions of the files already in the current directory plus any files not already there: QUNZIP -uo myfile Overwriting Existing Files: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If neither the -o or -n options are specified to control whether Qunzip will overwrite an existing file with one that is in the zipfile, Qunzip will stop and ask you if you'd like to overwrite that file. There are five responses available at that prompt: y - Yes, overwrite this file. n - No, don't overwrite this file. N - No, don't overwrite this or any other file; stop asking. A - Yes, overwrite this file and any others as needed; don't ask again. r - Rename the file being extracted and leave original file in place. Note that the N and A selections must be typed while the shift key is being held down - these selections can be dangerous, and should be used with care. Detailed Description of Qunzip Options: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ -b use video BIOS Qunzip produces its display using direct video memory access to provide the greatest possible speed. This method of updating the screen is compatible with all 'IBM standard' display adapters and you should have no need to use the -b option. However, if your display adapter is 'non-standard' and the Qunzip display appears scrambled or doesn't appear at all, adding the -b option to the command line or the QUNZIP environment variable will cause Qunzip to use the video BIOS routines built into your machine to update the display. This option is also useful to eliminate screen 'snow' that may appear on old CGA displays when the screen is being updated. -d recreate directories stored in zipfile Some zipfiles may contain the directory structure of the program or files contained within. By default, Qunzip will extract the files to the destination directory specified on the command line, or to the current directory if no destination directory is specified. By using the -d option when unzipping a file containing directory information, Qunzip will extract the files to the current directory, creating the stored subdirectories under the current directory. If you include a destination drive or directory on the command line, Qunzip will create the directory structure stored in the zipfile at that location instead. -e extract files This is Qunzip's default mode of operation. Unless a -l, -t, or -v option is included on the command line (list or test files), Qunzip will extract the files from the zipfile. This option never needs to be used, but is provided for compatibility with other zipfile extraction programs. -f freshen existing files This option can be used when you wish to update existing files with ones found in a zipfile. In 'freshen' mode, Qunzip will only extract files from the zipfile that have the same name and are newer than those already existing; all others are ignored. 'Freshen' only updates existing files - it never creates new ones. -j[h,r,s] restore file attributes By default, Qunzip strips file attributes from files as it extracts then from a zipfile if any attributes are present, converting the files extracted to normal DOS files. By adding the -j option to the Qunzip command line, you can specify which file attributes will be restored as the files are extracted (h = hidden, r = read only, s = system). -j can be followed by any combination of h, r, and s. -n never overwrite existing files By default, Qunzip checks to see if the files you are extracting would overwrite existing files and prompts you to see if that's what you really want to do. By including the -n option on the command line, you can instruct Qunzip to never overwrite existing files and never prompt you. -o overwrite files without prompting This is the reverse of the -n option. By including the -o option on the command line, Qunzip will overwrite existing files with the ones extracted from the zipfile without prompting you. Use this option with care! -s suppress zipfile comment display By default, Qunzip will display any zipfile comment contained in the zipfile being processed. If you would prefer to maintain a clean screen and not see the comment, add this option to the command line or environment variable. -t test zipfile contents On occasion you may wish to test the integrity of a zipfile to be sure that the contents are good. Adding the -t option to the command line causes Qunzip to completely test the zipfile for any damage without extracting any files. If no errors are reported during the test, the zipfile is good. -u update existing files This option is similar in function to the -f 'Freshen' option. It causes Qunzip to only replace existing files if they are older than the ones contained in the zipfile. The -u option also extracts files that are not already existing, creating new files as necessary. -v[b,m] view zipfile contents Using the -v option on the command line causes Qunzip to produce a listing of the contents of the zipfile, including technical data. By adding b to this option (example: -vb) the list will be a 'brief' one containing only the file name, date, and size. By adding m to this option (example: -vm) Qunzip will pause with a 'more' prompt after each screen of information is displayed. The sub-options can be combined if desired (example: -vbm). -x extract files Same as the -e command - see the description of -e for information. -z display only the zipfile comment The -z option allows you to view the comment in a zipfile if one is present, without extracting any files. -3 disable use of 32-bit instructions Qunzip automatically senses the type of CPU it is running on, and uses 32-bit processing for greater performance if the machine is capable of supporting this mode of operation. Qunzip's internal CPU type detection is *very* reliable, and you should never need to use this option. However, if you're running Qunzip in an environment that can not handle applications running in 32-bit mode you may need to set this option. Or if you're running Qunzip on a CPU type that it does not understand, it will default to using 8088 compatible instructions. If the machine is capable of running 32-bit code, then setting -3- (minus sign on both sides) will tell Qunzip to use the faster 32-bit instructions. WARNING: Using the -3- option on a machine that can not support 32-bit instructions will cause a system crash (at the very least)! If you're not sure what to do with the -3 option, don't use it at all. -$ extract volume label When this option is used, Qunzip will replace the volume label on the destination drive with the label contained in the zipfile. If this option is not used, any volume label entries in the zipfile are ignored. Exit Codes: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Qunzip returns an exit code upon termination showing the status of its operation. These exit codes can be tested in batch files set up for unattended operation to determine if the Qunzip operation was successful, and if not to indicate the cause of failure. A list of the possible exit codes and their meaning follows: 0 (Success): All operations completed successfully; no errors or warnings. 1 (Warning): Files extracted successfully; one or more skipped or damaged. 2 (Error in zipfile): Some files extracted successfully; zipfile is corrupt. 3 (Severe error in zipfile): Zipfile corrupt; no files extracted. 4 (Insufficient memory): Insufficient free memory available for Qunzip to run. 9 (File not found): One or more filenames on the command line were not found. 10 (Bad command line parameters): Command line options invalid or contradictory. 11 (No files found): Zipfile was empty - no files to process. 50 (Disk full): Insufficient free space available on disk to extract files. 51 (Unexpected EOF): End of file reached prematurely - zipfile is corrupt. Qunzip Error Messages: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CRC error in file: Qunzip was able to extract this file from the zipfile, but the extracted file was not an exact copy of the original file as it was originally stored in the zipfile. This file is damaged in some way and may not be usable, and the zipfile is also damaged. Error reading zipfile: Qunzip was able to find and start reading the zipfile, but an error occured as it continued to read it. This error is most likely to occur on a network or multi-tasking system when file sharing is not working properly, or SHARE is not loaded. Zipfile corrupt or not a zipfile: The filename given to Qunzip as the zipfile to work with is either not a zipfile, or is so badly damaged that it is not recognizable as a zipfile and no files can be extracted. Out of memory: There is not enough free memory for Qunzip to run. Make sure that there is at least 110K of free memory before running Qunzip. Unknown compression method: The file that Qunzip is trying to extract has been compressed in a ZIP format that Qunzip does not understand, or the zipfile may be damaged. Qunzip can handle all ZIP compression methods used by Qzip, or PKZIP versions 1.00 through 2.04. File is encrypted - skipping: The file that Qunzip is trying to extract has been encrypted or 'scrambled' by PKZIP. Qunzip does not extract encrypted files; this file will just be skipped. Error writing file - Disk full: Qunzip was unable to write the extracted file to disk because there is not sufficient room for it. Delete some unnecessary files from your disk and try again. Invalid command line arguments: The options you included on the Qunzip command line were incorrect or invalid. Unable to find or open zipfile: Qunzip was not able to find or open the zipfile for reading. Either the filename you specified is incorrect, the file is not located in the directory you specified, that file is locked by another process, or you don't have sufficient network rights to access that file. Invalid destination directory: The directory that you included on the command line for Qunzip to place the extracted files in was improperly specified, or it does not exist. Zipfile is empty: The zipfile that Qunzip is trying to process contains no files. File not found in zipfile: The file that you asked Qunzip to extract from the zipfile was not found within the zipfile. Drive not ready: DOS was unable to access the drive you specified; if this was a floppy drive, check to make sure the disk is inserted. If you specified a hard drive, a serious hardware problem is indicated. Credits: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PKUnzip and PKZip are trademarks of PKWARE Inc. DOS and Windows are trademarks of Microsoft Corp. IBM and OS/2 are trademarks of International Business Machines, Inc.