home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
virus
/
zzap54a.lzh
/
ZZAP.DOC
< prev
next >
Wrap
Text File
|
1990-03-11
|
46KB
|
1,387 lines
█████████ █████████ ███ ███████
░░░░░██░░ ░░░░░██░░ ██░██░ ██░░░░██░
██░░ ██░░ ██░ ██░ ██░ ██░
██░░ ██░░ ██░ ██░ ██░ ██░░
██░░ ██░░ █████████░ ███████░░
██░░ ██░░ ██░░░░░██░ ██░░░░░░
██░░ ██░░ ██░ ██░ ██░
█████████ █████████ ██░ ██░ ██░
░░░░░░░░░ ░░░░░░░░░ ░░ ░░ ░░
Version 5.4
ZIP/ZOO/ARC/PAK Converter
(And More!)
Copyright (c) 1989
Ross Neilson Wentworth
All Rights Reserved
ZZAP Version 5.3
Copyright (c)1989,90 Ross Neilson Wentworth
All Rights Reserved
=================================================================
License Agreement
=================================================================
ZZAP(tm) is copyright (c)1989 Ross Neilson Wentworth. All rights
reserved. You may use this program freely so long as it is in a
noncommerical environment. Usage in a commercial environment
requires a payment of $20.00 per computer it will be used on. A
commerical environment includes, but is not limited to, the
following:
o Usage by any for-profit organization.
o Usage by any government agency, local, state, or federal.
o Used as part of a company product support BBS (making this
program available for downloading without charge is not
construed as commerical use).
o Used as part of a limited access, pay for membership, BBS
system.
Permission may be granted if the access fee is soley for
BBS upkeep. Contact me for verification.
You may use this program freely so long as:
o It is for personal use only. or -
o It is used as part of a public access BBS system that is
available without subscription fees. or -
o It is used by a non-profit organization.
You may not sell this software under any circumstance without
prior written approval.
Send all license fees or donations to:
Ross Neilson Wentworth
1422 Elkgrove Circle, #3
Venice, CA 90291
(213)399-1244
The latest version of ZZAP can be found on West Los Angeles BBS,
(213)838-9229 or by sending $10 to the above address. The $20
fee mentioned above includes one free update. Please let me know
what version you currently have.
Even if you do not wish to register I would appreciate hearing
from you. A simple postcard listing your likes, dislikes,
suggestions, and the version number is all that I ask.
The terms "arc", "archive", "unarc", etc. are used throughout
this document. They are considered generic terms for all
archiving types and formats. Any declaration that any of these
ZZAP Page 2
terms are proprietary will be construed as a ridiculous statement
and be properly ignored.
ZZAP Page 3
=================================================================
FEATURES
=================================================================
o Automated conversion between the most common archive types
(ARC, DWC, ICE, LBR, LZH, MD, PAK, SDN, ZIP, and ZOO).
o Automatically converts nested archives including nested
archives of different types. A switch is provided to
disable this feature.
o Optionally convert archives in multiple subdirectories
(subdirectory recursion).
o Accepts wildcard designations and multiple file names on
the command line.
o Repack archives to same type.
o Renames or moves corrupted archive for later examination.
o User defined arcing and unarcing options.
o Can be run unattended during an "event".
o Deletes old archives by default, options to keep them.
o Optional logging of ZZAP activities to a text file.
o Optionally create a text file listing the archives
converted, suitable for use by filter programs to update
the file list as used by BBS programs.
o Flag archives containing files with Hidden, System, or
ReadOnly attributes as "bad".
o Optionally strip Hidden, System, and ReadOnly attributes
from files.
o Can automatically check an archive for viruses using the
virus scanning program SCAN.EXE (version 39 or later) from
McAfee Associates.
o Can take advantage of expanded memory (LIM 4.0 driver
required) or extended memory (XMS driver required) to
reduce the memory overhead while executing the archiving
programs.
o Configurable for additional archiving programs.
ZZAP Page 4
=================================================================
DESCRIPTION
=================================================================
Currently, there are a multitude of mostly incompatible archiving
utilities available. While a standard would be beneficial to the
BBS community, it's not likely to occur in the near future.
To help cope with the different formats and to make conversion
from one to another easy I wrote ZZAP. It allows conversion from
one format to another, quickly and painlessly. ZZAP doesn't
actually do any conversion on its own. Rather, it acts as a
shell around the archivers - automating the process.
The archive programs and version numbers tested under are:
DWC A4.95
ICE 1.14
LHARC 1.13
LUE 2.20 (extraction only)
MD (unknown version number - tested by user)
PAK 2.0
PKPAK/PKUNPAK 3.61 (a.k.a. PKARC/PKXARC)
PKZIP/PKUNZIP 1.02
ZOO 2.01
Other formats should work if properly configured but there is no
guarantee. If you run across an archiving program that does not
work under ZZAP I would like to hear about it so I can make the
necessary modifications.
The archiving program GSARC 1.0 from NoGate Consulting can not be
used with ZZAP as it always forces the archive extension to ARC.
ZZAP uses the temporary extension Z!Z so that the original
archive is not overwritten until a repack is completed (when
converting an archive to the same type). To reduce code
complexity I always use the temporary extension, regardless if
the program is repacking or converting.
=================================================================
CONFIGURATION FILE
=================================================================
ZZAP relies on a configuration file (ZZAP.CFG) to know how to arc
and unarc. There are nine different commands allowed in the
configuration file, three of them are required (ARC=, UNARC=, and
DEFAULT=) and the rest are optional (LOG=, BADDIR=, SWITCH=,
FIXER=, FIXOPT=, and SCANOPT=). The order of the commands are
unimportant.
Each command is on its own line. Placing multiple commands on a
single line will result in improper operation. A configuration
file is included with this package that may be uses "as-is" or
may be modified for your personal preferences.
ZZAP Page 5
ARC=
====
ARC= defines the command used to archive. This command can
appear as many times as required to define all of the various
archive types you may use. The syntax for this command is:
ARC=EXT PROGNAME OPTIONS
EXT represents the filename extension used by this particular
archiver, PKZIP, for example, uses ZIP. Do NOT include a leading
period.
PROGNAME is the name of the actual archiving program. If the
filename extension is not given the a search will be made for
both COM and EXE. Including the extension will improve the
performance of ZZAP.
OPTIONS is the command line options used to create an archive.
ZOO, for example, uses "-ADD" while PKPAK uses "-A". Since some
archiving programs use both upper and lower case letters to
represent different actions, this item's case is left intact.
OPTIONS also may include the "%1" to indicate where the archive
files name should be placed on the command line. If it is
omitted the file name will be appended to the end of the command
line.
If you wish to redirect the display output of the archiving
program then put the redirection command at the end of OPTIONS.
The following are all legal ARC= commands:
ARC=ARC PKPAK -A %1 *.*
ARC=DWC DWC.EXE AZ %1 *.*
ARC=PAK PAK A %1 *.*
ARC=LZH LHARC.EXE a %1 *.*
ARC=ZIP PKZIP -A -EX
ARC=ZIP PKZIP.EXE -A %1 *.* >NUL
ARC=ZOO ZOO.EXE -ADD %1 * >NUL
The last two examples have their display output redirected to the
NUL device, resulting in the normal output to not be displayed.
UNARC=
======
The next command is UNARC=. This is the commands to unarc the
various types of archives. This command can appear as many times
as necessary to define all the archive types you may use. The
syntax for this command is:
UNARC=EXT PROGNAME OPTIONS
EXT is the extension used by this type of archive.
ZZAP Page 6
PROGNAME is the name of the program used to extract files in the
archive.
OPTIONS is the command line options used to extract files from
the archive. As with the ARC command, "%1" may also be included
to indicate the position of the archive file name.
If you wish the dispaly output of the unarcing program to be
redirected you should list the redirection command last.
For unarcing to work with ZZAP it MUST extract all files in an
archive if a filename is not given after the archive name.
The following are all legal UNARC commands:
UNARC=ARC PKXARC.EXE
UNARC=DWC DWC E %1 *.*
UNARC=LZH LHARC.EXE e
UNARC=PAK PAK E %1 *.*
UNARC=ZIP PKUNZIP.EXE %1 >NUL
UNARC=ZOO ZOO -EXTRACT %1 >NUL
The last two examples have their display output redirected to the
NUL device.
DEFAULT=
========
This is the default extension used to decide which archiving
format to convert to. The extension given must match one of the
extensions given with the ARC= command. If a match is not found
the program will halt with an error. The syntax for this command
is:
DEFAULT=ext
where ext is the file extension corresponding to an archive type.
The following are legal DEFAULT commands:
DEFAULT=ZIP
DEFAULT=ZOO
DEFAULT=.ARC
Note that the preceding period is optional.
You can override DEFAULT= with the command line switch /E.
BADDIR=
=======
Whenever an archive fails to unarc properly or fails the virus
check it will be renamed to have the extension ".BAD". By
default the file is kept in its original subdirectory. If you
wish bad archives to be placed in a special subdirectory you may
use the BADDIR= command. Simply name the subdirectory you wish
ZZAP Page 7
to use. This subdirectory must already exist for this option to
work properly. Example:
BADDIR=C:\BAD
The defined subdirectory can be on a different drive but if the
file move is unsuccessful the file will simply be renamed to have
the extension .BAD (the default mode).
LOG=
====
The final command allowed in the configuration file is LOG=.
This defines the path and file name of the log file (see below).
If you do not plan on using the log option then you may omit this
command.
Its syntax is:
LOG=filename
For example:
LOG=C:\DOCS\ZZAP.LOG
This command is only necessary if you plan on using the /L
command line switch.
SWITCH=
=======
Use this to specify your default command line switches. For
example, if you always use the log and virus checking options you
can place this in your configuration file:
SWITCH=/L+/V+
You can always override the options on the command line:
ZZAP /L-/V- file.ext
The command line always takes precedence over the configuration
file.
FIXER=
======
Specify the name of your BBS download list fix-up program with
this command. For example, if you are running a QuickBBS
bulletin board system you can specify FIXER=QFIX.EXE (included in
this package).
This command is only needed if you plan on using the /C command
line switch.
ZZAP Page 8
FIXOPT=
=======
If you wish to pass any command line arguments or file names to
the program specified with the FIXER= command use this command.
For example, to automatically fix-up the description file used by
4DOS you would specifiy FIXOPT=DESCRIPT.ION here and specify
QFIX.EXE with the FIXER= command. If the fix-up program you use
does not require any command line arguments you can omit this
command.
This command is only needed if you plan on using the /C command
line switch.
SCANOPT=
========
Place, after this command, any command line options you wish
passed on to SCAN.EXE when it is executed. The given options
will be added after the subdirectory to scan exactly as shown in
the configuration file. For example, if you have this in the
configuration file:
SCANOPT=/A /NOMEM
SCAN will be executed as:
SCAN pathname /A /NOMEM
=================================================================
LOCATING ZZAP.CFG
=================================================================
ZZAP will try it's best to locate the configuration file. Upon
execution it searches for the configuration file in the following
order:
1. The current subdirectory.
2. The Subdirectory defined by the environment variable
ZZAP=, e.g. ZZAP=C:\BIN.
3. The subdirectory ZZAP.EXE resides in (DOS 3.x only).
4. Each subdirectory defined by PATH in the environment.
If you wish to keep the configuration file in a directory not on
the PATH and still be able to execute ZZAP from any subdirectory
you should set the environment variable:
SET ZZAP=C:\STUFF
If the configuration file can not be found ZZAP will halt with an
error.
ZZAP Page 9
=================================================================
HOW TO RUN ZZAP
=================================================================
Running ZZAP is trivial. Simply type ZZAP followed by the
filename (wildcards allowed). The filename MUST have an
extension. If the extension is wild (*) then all archive types
defined by UNARC= commands will be converted to the new archive
type as defined by ARC=. The following are legal:
ZZAP *.ZOO
Converts all ZOO files in the default subdirectory to the new
archive type.
ZZAP \UPLOADS\AFILE.ZIP
Converts all ZIP files in the \UPLOADS to the new archiving type.
ZZAP *.*
Converts all archive types to the new archive type (ignores the
new archive type when searching for archives to convert).
ZZAP can also accept multiple file names on the command line:
ZZAP *.* \ARCHIVES\*.ZIP
This example converts all archives in the current subdirectory to
the new archive type. It also converts all ZIP files in the
subdirectory \ARCHIVES on the current drive to the new archive
type.
If you wish to repack an archive to the same type you must
explicitly name the extension as the default archive type is
ignored when doing a wild card conversion (this is to avoid
repacking the same archives every time you run ZZAP).
If your default archive type is LZH simply give that as the
extension to convert:
ZZAP *.LZH
When repacking an archive, all archive and file comments are
lost.
Note that the /P and /K options are ignored when doing a repack.
=================================================================
Exit Codes
=================================================================
ZZAP will return exit codes upon termination. These exit codes
can be used by a batch file to decide what steps should be taken
after running ZZAP. The exit codes are:
ZZAP Page 10
0 Normal termination - no errors, viruses, or
corrupted archives.
1 Virus detected.
2 Corrupted archive.
3 Configuration file not found.
4 Not configured for given extension.
5 Couldn't create temporary directory.
6 Other fatal error.
There is a possibility for both a corrupted archive and a virused
archive to have been detected (bad day!). In this case an exit
code of 1 (virus detected) will be returned, specifying the more
critical situation.
=================================================================
NESTED ARCHIVES
=================================================================
It is not uncommon to find archives nested inside an archive. A
program that includes source code may have the source code
archived and placed within the main archive. ZZAP will properly
handle this situation and convert the nested archives to the new
format. If fact, it will even convert nested archives of a
differing types. Theoretically, an unlimited amount of nesting
can be handled, only limited by available memory, but this has
only been tested one deep.
If you do not wish nested archives to be converted you should use
the /N- option on the command line or place it in the
configuration file using the SWITCH= command.
=================================================================
OPTIONS SUMMARY
=================================================================
There are a number of command line options that allow you to
customize the behavior of ZZAP. These options can also be
declared in the configuration file using the SWITCH= statement.
Command line options override configuration file options.
With the exception of the /E switch, each option is a forward
slash (/), a letter, and optionally followed by a plus (+) or
minus (-). If the option is given but the plus or minus is
omitted then plus is assumed, e.g. /A is equivalent to /A+. Plus
(+) turns the option on and minus (-) turns the option off.
/A Flag archives with HIDDEN, SYSTEM, or READ-
ONLY files (default ON).
/C Call the BBS file description updating
program.
/E Extension of archive type to convert to.
/F Create a list of files that were converted
(default OFF).
/K Keep the original archive (default OFF).
/L Log the activity to a text file (default
OFF).
ZZAP Page 11
/N Convert archives nested within archives
(ON).
/O Stamp with the original archive date
(default OFF).
/P Prevent overwriting existing archives
(default OFF).
/R Recurse subdirectories (default OFF).
/S Strip HIDDEN, SYSTEM, and READ-ONLY
attributes (default OFF).
/V Scan for viruses (default OFF).
/X Use expanded or extended memory when
shelling (default ON).
FLAG ODD ATTRIBUTES - /A
========================
If this option is ON any archive that contains a file with the
HIDDEN, SYSTEM, or READ-ONLY attribute will be treated as a
corrupt archive and be renamed to ????????.BAD. Currently, only
PKZIP, LHARC, and ICE support attributes within the archive.
It is highly recommended that you have on either the /A or /S
command at all times since most archiving programs will
completely ignore hidden files, possibly resulting in lost files.
The /S (strip attributes) command will override this command.
CALL UPDATE PROGRAM - /C
========================
Turning this option on causes the fix-up program named in the
configuration file (see FIXER=) to be executed after all
conversions have been completed. This removes the necessity to
execute the program after running ZZAP.
Turning this option on also forces the /F option on as well.
TARGET EXTENSION - /E
=====================
Overrides the DEFAULT= option in the configuration file. Follow
immediately with a three letter extension, for example:
ZZAP /EZIP *.LZH
The above example will convert all LZH type archives in the
current directory to ZIP archives.
Unlike the DEFAULT= configuration file option, you must not
precede the extension with a period.
FILE LIST - /F
==============
If the /F+ option is used the text file FILES.FIX will be created
that lists each of the files converted. Each line contains a
single entry, first is the full path and file name of the
ZZAP Page 12
original file, followed by a single space, and finally the new
file name (no path), for example:
C:\ARCHIVES\MYARC.LZH MYARC.ZIP
C:\ARCHIVES\ANOTHER.ZOO ANOTHER.ZIP
C:\NEWSTUFF\JUNK.ICE JUNK.ZIP
Files that are repacked to the same type (e.g. ZIP to ZIP) will
also be listed in this file. Under some BBS list formats the
file size, date, time, etc. are also stored along with the file
name and description. It is up to the programmer of the filter
to use or ignore unchanged file names as necessary.
This text file can be used by a filter program to modify any file
list as used by most BBS systems to reflect the change of file
names. Included with ZZAP is the program QFIX.EXE that modifies
the file list format used by QuickBBS and many other BBS systems
as well as the description file used by 4DOS. See the QFIX
document file for additional information.
A filter program for TBBS called DIRFIX has been written by Gary
W. Funk. Look for DIRFIX.ZIP (or whatever extension it has!) on
a BBS near you. It may be included in future releases of the
ZZAP package.
I will be happy to provide some limited assistance in developing
filter programs for other BBS list formats. If you develop a
filter program that would be of interest to others, send a copy
to me and I'll include it in future releases of ZZAP.
Appropriate acknowledgments will, of course, be given.
KEEPING THE ORIGINAL - /K
=========================
By default the original archive is deleted after the new archive
is successfully created. To prevent the old archives from being
deleted you need to turn ON the /K (keep) option. For example:
ZZAP /K+ *.ARC
This switch can be used in combination with any other option:
ZZAP /K+ /R+ C:\*.ARC
ZZAP Page 13
ACTIVITY LOG - /L
=================
If you wish ZZAP to run unattended (see EVENTS below) then you
may wish to log its activities. Including the '/L+' on the
command line will turn on the logging option. The following are
examples of using the log options.
ZZAP /L+ C:\UPLOADS\*.ARC
ZZAP /K+/L+/R+ C:\*.ZOO
You must use the "LOG=" in the configuration file to define the
log file path and name for this option to work.
The first time the log option is used the log file is created.
On subsequent runs new information is appended to the end of the
file.
The log file is a standard ASCII file that may be viewed, edited,
printed, etc..
CONVERT NESTED - /N
===================
If this option is on any archives nested within an archive being
converted will also be converted. All nested archive types
supported will be converted to the default type. Nested archives
are left unchanged if this option is off.
TIME/DATE STAMP - /O
====================
By default the time/date stamp of the newly created archive is
set to the time/date stamp of the NEWEST file contained within.
If you wish to retain the original time/date stamp of the archive
use the /O option.
ZZAP /O+ MYARC.ARC
PREVENT OVERWRITING - /P
========================
By default an existing archive can be overwritten when
converting. For example, if both TEST.ZIP and TEST.LZH exist and
you convert TEST.LZH to a ZIP file, the original TEST.ZIP will be
replaced by the new ZIP file (formerly TEST.LZH). If the /P
option is turned on it will prevent this from occurring, in fact,
any archive that would cause an overwrite would be completely
ignored, without any status message being displayed.
ZZAP Page 14
SUBDIRECTORY RECURSION - /R
===========================
If you have multiple subdirectories with archives you need to
convert you can either process each subdirectory individually or
use the recursion feature of ZZAP. Subdirectory recursion means
ZZAP will start at a given subdirectory and convert all archives
in it and all archives in any child subdirectories. This feature
is especially handy when you have a Bulletin Board System with a
large number of specialized file areas.
Subdirectory Recursion is invoked by the /R command line options.
The following are valid command lines:
ZZAP /R+ \FILES\T*.ZOO
ZZAP /R+ \*.ARC
ZZAP /R *.PAK
ZZAP /R+/L+ *.*
Strip Attributes - /S
=====================
The /S options will strip the HIDDEN, SYSTEM, and READ-ONLY
attributes from all files contained in the archive before adding
the files to the new archive. Note that most archiving programs
do not support unusual attributes and will simply ignore files
containing these three attributes. You should use either the /A
or /S command if there is any chance of any of these three
attributes being run across.
Turning this option on will cause the /A option to be turned off.
Virus Scan - /V
===============
The /V option will enable the virus scan option. You must have
version 39 or greater of McAfee Associates virus scanning program
SCAN.EXE placed on your execution PATH. If a virus is detected
the archive will be treated as corrupted and an error message
will be displayed and placed in the log file (if enabled).
See also the SCANOPT= configuration file command.
Expanded/Extended Memory - /X
=============================
By default ZZAP will take advantage of expanded or extended
memory while shelling to an archive program. This makes more
memory available to the archiver and may mean the difference
between success or failure in a tight memory system. If you do
NOT wish expanded to be used include the /X- option on the
command line.
To use expanded memory a LIM 4.0 driver be installed as well as
sufficient EMS to store the bulk of the program and data.
ZZAP Page 15
To use extended memory an XMS driver such as HIMEM.SYS (available
free from Microsoft) must be installed as well as sufficient
extended memory to store the bulk of the program and data.
=================================================================
CORRUPTED ARCHIVES
=================================================================
If a file is found to be corrupted further processing on that
file is halted and the archive is renamed to have the extension
"BAD". If the corrupted archive is nested only the parent archive
is renamed. You will have to manually unarc the archive to find
the actual problem.
ZZAP assumes that a file is corrupted when the "EXIT CODE" for
the unarc program is nonzero.
PAK version 1.0 is known to not return a proper error code so
ZZAP will not work with it. I'm not sure which version they
fixed the bug in. I do know that it works properly with PAK
version 1.6.
=================================================================
EXTERNAL EVENT CONVERSION
=================================================================
Some bulletin board systems support timed "events". These events
are used to automate the operation of the board. Using an event
can make it possible for the bulletin board to automatically
handle the conversion of any archive type to the type supported
by the board. A BBS that automatically converts archive types
could allow the callers to upload archives of virtually any type.
Under FrontDoor, for example, you can use an external event for
this process. An external event causes FrontDoor to terminate
with a specified error level. The error level can then be
queried to decide what should be done.
Follows is a fragment from a possible batch file to do just this.
This example assumes all new uploads are placed in the
subdirectory "C:\UPLOADS".
IF ERRORLEVEL 87 GOTO do_this
IF ERRORLEVEL 86 GOTO arc_convert
IF ERRORLEVEL 85 GOTO do_that
REM convert all archive types to ZIP files
:arc_convert
zzap /l+/f+ c:\uploads\*.*
GOTO run_fd
There is one problem with this type of system - what happens to
the descriptions? Some BBS programs automatically place the file
ZZAP Page 16
name and description in an ASCII file. If the file is then
converted the filename is changed and would no longer match the
name given with the description. The /F option and the QFIX
program (included) handle the conversion for QuickBBS format file
list. See QFIX.DOC for further information.
ZZAP Page 17
=================================================================
ACKNOWLEDGMENTS
=================================================================
Thanks to:
o Ken Doebler (1:102/345) for his many suggestions.
o Randall Greylock (1:321/202.4) for pointing out an oddity
with ZOO and many fine suggestions which were implemented.
o Charles Falconer (1:141/488) for pointing out that I
didn't handle unusual file attributes (which LHARC and
PKZIP archives may retain) and other suggestions.
=================================================================
Legal B.S.
=================================================================
- DWC is copyright (c)1986,87,88 Dean W. Cooper.
- LHARC and ICE are copyright (c)1988,89 Haruyasu
Yoshizaki-san.
- LUE is copyright (c)1985 Vernon D. Buerg.
- PAK is copyright (c)1988,89 NoGate Consulting
- GSARC is copyright (c)1988 NoGate Consulting
- PKARC/PKXARC and PKPAK/PKUNPAK are copyright (c)1986,87,88
PKWare, Inc.
- PKZIP/PKUNZIP are copyright (c)1989 PkWare, Inc.
- ZOO is copyright (c)1988 Rahul Dhesi
- FrontDoor is copyright (c)1988,89 Scandinavian PC Systems
and InterZone Software, Inc.
- DIRFIX is copyright (c)1990 Gary W. Funk.
ZZAP Page 18
=================================================================
VERSION HISTORY
=================================================================
Version 5.4 Changes
===================
- Added the /C command line option.
- Added the FIXER=, FIXOPT= and SCANOPT= configuration file
commands.
Version 5.3 Changes
===================
- Added support for "%1" to allow the archive file names to
be in any position on the command line.
- Corrected a bug where the /N command line switch was being
ignored.
- Bug corrected where the state of Keep (/K+) and/or
PreventOverwrite (/P+) could be lost if more than one file
is given on the command line.
- On the switch status line, "on" is displayed in high-
intensity.
- Completely changed the way the /F option works and added
the QFIX program.
- Conversion of all archive types by indicating the wildcard
extension (e.g. '*.*' was not working, corrected as of
5.3b.
Version 5.2 Changes
===================
- Fixed a bug where the stack would overflow and trash some
internal data.
- Fixed a bug where if /X- was used it wouldn't properly
execute the external programs.
- Removed the ZZAPARC= environmental variable, it is not
longer needed with the addition of the /E command line
switch.
- Added the /N switch (convert nested archives). Default
ON.
Version 5.1 Changes
===================
- Added the SWITCH= configuration file option.
- Changed the way command line options are used.
ZZAP Page 19
Version 5.0 Changes
===================
- Completely rewrote most of the file searching routines.
- Now supports repacking any archive type, e.g. ZIP to ZIP.
- Added a switch to prevent overwriting of existing
archives.
Version 4.8 Changes
===================
- Added support for output redirection.
- ZZAP always thought the bad archive directory (BADDIR=)
didn't exist - whether it did or not.
- Now supports moving a BAD archive to a different drive.
- If BADDIR is defined and the subdirectory exists the file
will be moved their and the extension will NOT be changed
to .BAD. The extension will be changed to .BAD if BADDIR
is not defined or does not exist.
Version 4.7 Changes
===================
- Added the DEFAULT= command in the configuration file.
- Changed the ZZAPARC environmental variable so that it only
requires the file extension.
- Changed the ARC= command in the configuration file so that
multiple archiving programs can be listed.
- Added the /S (strip attributes) command line option.
- Added support for extended memory during archive program
executing.
- The BBS list routine was not working properly if the
filenames in the list file were not uppercase.
Version 4.6 Changes
===================
- Added support for virus scanning using McAfee Associates
SCAN.EXE program.
- Added the BADDIR configuration option.
- Improved the error detection code.
ZZAP Page 20
Version 4.5 Changes
===================
- Added support for multiple file names on the command line.
- Removed bug where ZZAP returned an error message if no
file name was given on the command line.
Version 4.4 Changes
===================
- ZZAP wasn't properly reading the exit code of the unarcing
programs. This resulting in some bad archives slipping
by.
Version 4.3 Changes
===================
- Cosmetic changes and code optimization.
Version 4.2 Changes
===================
- Trivial B.S. hardly worth mentioning.
Version 4.1 Changes
===================
- Corrected a fatal bug introduced in 4.0 that would cause
ZZAP to lose files under PKARC/PKPAK.
- Removed a bug which resulted in the "home" path (DOS 3.x
only) not being located properly.
Version 4.0 Changes
===================
- Changed the "/I" option to "/A" - makes more sense.
Log more information about nonstandard file attributes in
the log file.
- Now supports expanded memory (LIM 4.0 only) when shelling,
thus making available more conventional memory when
running the archiving programs.
Version 3.6 Changes
===================
- Now properly handles files with attributes of READ-ONLY,
HIDDEN, or SYSTEM, which could cause ZZAP to crash.
- Added the /I option.
- Fixed a bug with the FIXLIST option (/F).
ZZAP Page 21
Version 3.5 Changes
===================
- Mostly cosmetic changes.
- A minor bug in path searching was fixed.
Version 3.4 Changes
===================
- Another minor bug fix, changes in version 3.3 resulted in
archive programs in the default directory not being found.
Version 3.3 Changes
===================
- Added the environment variable ZZAPARC= which overrides
the ARC= command in the configuration file.
- The code was cleaned up a bit, as well.
Version 3.2 Changes
===================
- Fixed a minor bug related to the environment variable
ZZAP=.
- Now aborts if the archiving (ARC=) program can not be
found.
- Displays an error message if any of the unarcing programs
(UNARC=) can not be found.
Version 3.1 Changes
===================
- As of version 3.1 ZZAP will work with DWC. Prior to this
version DWC would not work because of the way DWC handled
paths. Most DOS programs support the "parent"
subdirectory path, "..\ARCHIVE.EXT". For some reason DWC
would not. The parent subdirectory is now converted to a
qualified filename, e.g. "C:\ARCHIVES\MYARC.DWC".
ZZAP Page 22