ZIPAL Ver. 1.4 by W.C. Parke (c) 1990
ZIPAL is a MS-DOS utility to view or alter ZIP file comments. (ZIPAL
stands for 'ZIP Add Literal', and is pronounced 'ZIP PAL'.) ZIP files
are compressed files using an algorithm and program by Phil Katz. Within
such files, one can insert a comment in the form of a text string which
will be shown whenever the file is viewed or unzipped using one of the
utilities supplied by Phil Katz. Such comments are often added by BBS
SYSOPs in order to 'stamp' the file with a BBS identifier. Users of such
files may not wish to retain the advertisements contained in these
identifiers, or may wish to add their own informational text.
ZIPAL can be used to remove ZIP file comments, or to change the comment
to a different one. It has several advantages over similar such
First, it is fast and small, as it was written in assembly language.
Second, new comments can be easily generated as separate ASCII files (up
to 16K bytes in size).
Third, the command syntax is quite flexible, allowing simple default
operation or complete file specifications. 'Wild card' ZIP file names
can be used to process a group of such files.
Fourth, disk space is not required for a second copy of the original ZIP
file. ZIPAL works with the original copy.
Fifth, ZIPAL will not change the date or time on the original ZIP file,
unless the user wishes to have it changed.
Sixth, errors are reported both to the default console and through the
ERRORLEVEL setting, making definitive BAT file operation possible.
The MS-DOS command line syntax is:
ZIPAL zipfile[.ZIP] [docfile[.DOC]] [/C] [/L] [/V] [/M] [/Q]
where zipfile is a complete (path and) file specification of the
ZIP file on which ZIPAL is to operate;
docfile is the name of the file containing the (ASCII) text
which will replace the original comment in the ZIP file.
The 'switches' shown are option. Their function is described below:
/C causes ZIPAL to change zipefile to the Current date when
the comment is replaced. (Default is not to change the
date of the zipefile);
/L lets ZIPAL set zipefile to the date of the LAST (most
recent) compressed file within the ZIP file;
/V verifies the original comments by displaying a View of
them in a set of ZIP files; the ZIP files are not altered;
/M makes ZIPAL pause the display after a full page of text,
giving a MORE? option;
/Q sets Quiet operation, during which no messages will
be displayed on the console. ERRORLEVEL will still
be set for BAT file operation.
Notes and Cautions:
The file extensions do not have to be given. If no docfile is
specified, then the file ZIPAD.DOC will be assumed. If you are using
a file without an extension, put a 'dot' (period) at the end of the
file name to tell ZIPAL that the default extension does not apply.
If the original comment in the ZIP file is larger than the new comment,
the ZIP file will be padded with zeros (nulls) to make the same length
ZIP file. If the original comment is smaller than the new one, the ZIP
file will be extended in length to accommodate the new comment. If the
file ZIPAD.DOC exists but is empty, then the original comment in the ZIP
file will be deleted.
Because ZIPAL creates no temporary ZIP file (for speed and to allow
operation even with limited disk space), some caution must be exercised
if the comments in the original ZIP file are not to be lost. If you
wish to retain an unchanged version of the ZIP file, operate ZIPAL only
on a copy of the original version. A particular caution applies to
wild card specification. For example, if ZIPAD.DOC exists, the
command ZIPAL * will change the comment in every ZIP file in the
Any standard ASCII editor can be used to create the ZIPAD.DOC file to
contain the new comment for the ZIP file.
ZIPAL requires up to 64K for itself and file buffers.
A comment textfile cannot exceed 16K. If the text file is bigger
than 16K, ZIPAL will exit with an error.
ZIPAL searches for the central ZIP directory in the last 16K of
the ZIP file. If the directory is not found, ZIPAL will exit with
will replace the comment in PCMAG.ZIP with the text in the file
ZIPAD.DOC. If ZIPAD.DOC is empty, the comment will be deleted.
ZIPAL PCMAG NEWTXT
will replace the comment in PCMAG.ZIP with the text in the file
ZIPAL C:\ZIPS\PCMAG.ZIP D:\DOCS\NEWTXT.TXT /C
will replace the comment in C:\ZIPS\PCMAG.ZIP with the text in the file
D:\DOCS\NEWTXT.TXT, changing the date of PCMAG.ZIP to the current date.
will replace the comment in all the ZIP files in the current directory!
ZIPAL T* /V/M
ZIPAL T* /VM
ZIPAL T* /v /M
ZIPAL T* /V M
will generate a console display of the original comment, if any, in the
ZIP files having file names starting with 'T'. No new comment file
(such as ZIPAL.DOC) need be present for this operation. Each ZIP file
comment will be shown enclosed within horizontal dash-line separators.
The /M will make ZIPAL pause after 24 lines of display, waiting for
a user response to the query: MORE?. If 'N' is the response, ZIPAL
will abort further display.
If ZIPAL is typed on the command line without any following characters,
a short help screen will be displayed. The help screen is also
displayed when a /? follows the command.
ZIPAL will announce the text file from which it will take the ZIP
New ZIP comment will be taken from file: ZIPAD.DOC .
If ZIPAL makes a successful comment replacement, it will display the
<<< ZIP comment replaced in: zipfile.ZIP
To avoid displaying messages while running in a BAT file, use the
ZIPAL zipfile /Q
ZIPAL zipfile >NUL
Errors involving command line syntax or difficulties with the files
will abort ZIPAL. Errors with an individual ZIP file when a 'wild card'
ZIP file specification was made will not stop ZIPAL, but rather will be
noted in the ERRORLEVEL (by ORing with the error bit shown below), and
by the display of an error message for that file. At the end of a
sequence of file operations, the message:
>>> No more ZIP files.
is displayed. However, this does not by itself generate an ERRORLEVEL
The following table shows the errors which may occur:
BAT file ERRORLEVEL Possible Cause
Inconsistent switches given: 128 A switch pair is contradictory
Bad switch on command line: 128 Unknown letter for switch
Text file not found: 128 Text file does not exist
Text file too big: 128 Text file larger than 16K
Error opening text file: 128 Wild card not allowed for text file
Error reading text file: 128 Disk sector error
******* ZIP file not found: 1 No such ZIP file found
*********** Not a ZIP file: 2 ZIP file extension required
***** ZIP DIR not found in: 4 ZIP file corrupt
************ Error opening: 8 File may be read only
************ Error reading: 16 Disk data sector error
******** Error writing ZIP: 32 Disk full or write protected
******** Error closing ZIP: 64 Disk directory error
Acknowledgement: My thanks to Douglas Clark, who helped find several
annoying bugs in the beta version of ZIPAL. ZIPAL
was particularly designed in the hope of helping
Gary Smith in his operation of his BBS software,
PC-CONNECT. Gary also made suggestions for the
improvement of ZIPAL.
ZIPAL is offered to the public domain, although copyright is reserved,
and distribution is restricted to only those avenues which do not
involve direct or indirect payment or compensation associated with
1.4 Restored C switch; added further syntax checking
1.3 Corrected multiple text file opens; added L switch
1.2 Added M switch
1.0 - 1.1 Beta Versions
The author may be reached at:
1820 S Street NW
Washington, D.C. 20009
BITNET [email protected]