home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
UTIL_ARC
/
QAZ_230.ZIP
/
QAZ.DOC
< prev
next >
Wrap
Text File
|
1994-01-30
|
80KB
|
1,924 lines
QAZ v2.30
by
Robert Rothenburg Walking-Owl
Copyright (c)1993,1994
All Rights Reserved
No-Frills
User's Guide and Manual
"No archiver too obscure...(almost)"
Note: Please read the documentation. I've put as much effort into
writing this manual as I have in the actual program.
[0.0] Table of Contents
====================================================================
[1.0] The Distribution Package (Files)
[2.0] License and Registration
[2.1] Distribution of QAZ
[2.2] Disclaimer
[2.3] With regards to other software
[3.0] Introduction to QAZ
[3.1] Why use QAZ?
[3.2] What QAZ is, and what QAZ is not
[3.3] What does "QAZ" mean?
[3.4] What's new about this version? (Brief)
[4.0] System Requirements
[4.1] Installation
[5.0] Simple Usage
[5.1] Using Options and Switches
[5.B] Brief Listing
[5.W] Wide Listing
[5.V] View Settings
[5.O] Listing Order (Sorting)
[5.F] Formatting the listing
[5.D] Filter by Date
[5.S] Filter by Size
[5.Z] Time Zone adjustments
[5.T] Viewing the archive's tree structure
[5.R] Return Codes
[5.L] Lowercase filenames
[5.U] Recursive searching
[5.2] More about using QAZ's search function
[5.3] Options removed or changed from previous versions of QAZ
[5.4] Setting Default Options with QAZCMD
[5.5] Using extended wildcards and search-specs
[5.6] Using QAZ from a BBS
[5.7] Messages
[5.8] Questions/Problems
[6.0] Technical Information
[6.1] What files can QAZ recognize?
[6.2] What's new about this version of QAZ? (Detailed)
[6.3] Problematic files and known "bugs"
[6.4] Formats _not_ (yet) supported by QAZ
[6.5] Exit codes returned using the /r option
[6.6] Future additions to QAZ
[7.0] Contacting the author
[7.1] Thanks and acknowledgements
[7.2] About the various archiver formats...
To jump to a topic, use your reader's search function to go to
the item number (i.e. [3.0] for the Introduction).
[1.0] The Distribution Package (Files)
====================================================================
The following files should be included in the distribution archive
for this version of QAZ. If any of these files are missing, please
contact your vendor and/or the SysOp/SysAdmin of the on-line system
from where you received QAZ.
FILE_ID.DIZ BBS Identification File
README.1ST Read this First!
QAZ.EXE The QAZ DOS-Executable File
QAZ.HLP The QAZ "Quick-Reference" Help File
QAZ.DOC The QAZ Documentation (This File).
QAZ-DEMO.EXE Demo Batch-files for use with QAZ.
You may also contact the author at the address(es) given later in
this document if you have any questions.
[2.0] Legal Information (License, Distribution, Disclaimer, etc.)
====================================================================
You are granted the right to freely use, and/or distribute QAZ
for personal or institutional purposes. You may also use or
install QAZ as part of an online file-viewing facility, so long
as the copyright notice is not removed or changed.
QAZ is free. You can use QAZ from until until the hypothetical
heat death of the universe at no charge.
However, I've put many hours into developing this program, so if
you'd like to support starving programmers, a registration fee of
$15US will benefit your karma and perhaps get you the latest
version.
At the very least, a postcard saying that you use QAZ would be
nice.
[2.1] Distribution of QAZ
====================================================================
You may freely distribute copies of QAZ to friends or upload to
public distribution sites (such as BBSs or ftp-sites) so long as
the associated files (executables and documentation) are not mod-
ified in any way, and so long as there are no charges for copies
of QAZ (not more than $5.00US per disk plus S&H), aside from usual
on-line membership fees, etc.
QAZ may be distributed as part of another software package so
long as the original distribution files are included entirely as
an enclosed archive, unchanged, _and_ that the software package
has the same licensing and distribution policy as QAZ (that is,
it's 'free'), where no charge for use of the software is stated
or implied. (If you distribute QAZ as part of another package,
you are also responsible for any licensing requirements of the
archive you distribute it in).
Of course I would appreciate hearing about any utilities that
make use of QAZ.
Essentially, QAZ is 'freeware'.
Note: If you'd like to distribute QAZ as part of a shareware or
commercial package, or if you are interested in obtaining
source-code(s), please contact me at the address listed
elsewhere in this document.
[2.2] Disclaimer
====================================================================
Being free, the author makes no guarantees or warrantees whatso-
ever on the use, abuse or misuse of QAZ. Likewise, the author
shall not (and will not) be held responsible for misidentification
of archives, strange files, flying saucers, damage of data, disk
space, system crashes, reputations, ideologies, money, pets, time,
et cetera, due to the use or misuse of QAZ and associated files or
utilities.
QAZ is continuously debugged and tested, however that does not mean
it is bug free. In many cases QAZ is the product of many hours of
hacking, so it's possible undocumented or unanticipated file-types
may not be handled properly.
Simply put, use QAZ at your own risk.
The information in this document is subject to change without notice.
[2.3] With regards to other software
====================================================================
You, the user, shall take full responsibility to ensure that you
have the legal rights to use the associated archive utilities
(ie. that you are a legitimate, registered owner of any shareware
or commercial software).
The author of QAZ shall not be responsible for the use of other
software in violation of any licensing agreements.
[3.0] An Introduction to QAZ
====================================================================
QAZ is an almost-universal archive viewer. It was written to pro-
vide a simple, uniform way of viewing the directories of various
archive formats without having to have a copy of the appropriate
software handy.
Originally, QAZ was intended to be a 'test' utility for a diskette
catalog/librarian system (which is in the works for the future).
In the meantime QAZ has become a useful file-lister from within
DOS as well as a BBS-friendly utility so users may (pre)view the
contents of archives (as well as identify the format) before
downloading.
[3.1] Why Use QAZ?
====================================================================
With QAZ, you need not fumble remembering various archiver-specific
viewing commands, or even have a copy of the archiver on hand. You
can view many self-extracting ("SFX") archives, as well as some pro-
prietary formats.
The listing can be used for managing floppy disk catalogs or as a BBS
file-"exam" function, so users have an extra ounce of choice _before_
transferringing files which may turn out to be dubplicates, unusual
archive formats (sometimes mislabelled) or downright unsuable files.
The output of QAZ is customizable to a variety of tastes. By default
QAZ adjusts itself to the system's native country-code and time-zone
configuration.
QAZ also exists to encourage a 'free market' of archivers. There is
no reason for the BBS-world to be dominated by a few archive formats,
often leaving other, perhaps 'better', archivers out of the picture.
Hence the purpose of QAZ is to view not just the most common formats,
but the obscure, lesser-known archivers that hold a place in some poor
fool's (or guru's) heart.
And who knows? The archiver standards change faster than upgrades to
DOS 6, and today's popular formats become tomorrow's dinosaurs.
Of course, if you made the effort to get a copy of this program then
you probably know that already.
[3.2] What QAZ is, and what QAZ is not...
====================================================================
QAZ mainly identifies a variety of archive, compressed, disk image,
and graphics file formats. If possible, QAZ will list a directory
or give information about the file (depending on user-set options).
QAZ does _not_ extract or test the contents of archive or graphics
files: adding these features would increase the size of QAZ tenfold
and make the software require a high-end computer and operating
system, not to mention require licensing fees etc.
I have received a few requests to add these abilities to QAZ. Likely
a future, spin-off utility to do these things may show up as an al-
together seperate program.
However, QAZ can be used to identify an archive and return an exit-
code which other programs can use (such as archive shells, batch
utilities, off-line readers or BBS software); or you can use QAZ to
search a disk for archives which contain specified files.
[3.3] What does "QAZ" mean?
====================================================================
"QAZ" has no special meaning. For lack of a better (and original)
name, Q-A-Z are the left-most three keys on a standard American
QWERTY-style keyboard.
No, there isn't a special Dvorak version of QAZ.
[3.4] What's new about this version?
====================================================================
A lot and very little is new about this version, depending on the
version of QAZ you previously owned.
Since the last official release (QAZ v2.21a) a few new features were
added, including the ability to read some Macintosh archiver formats,
optional ANSI color listings, many speed optimizations and some
revisions have been made to the documentation.
Since the earlier and more widely released QAZ v2.10c, the size of
the program has doubled: comparatively this could be version 3.00!
Many more archiver formats and options were added or changed. The
ability to define default options was also added to so users can
customize QAZ to their liking.
For more specific information, check out the Usage and Technical
sections of this manual.
SysOps: If you used QAZ v2.10c on a BBS, you should read the manual
to be aware of some changes in the options.
[4.0] System Requirements
====================================================================
An IBM-PC or an up-to-par clone. DOS v3.3 or newer (most of the new
archivers will work better), and at least 128k of RAM (an arbitrary
amount), although the more memory the better.
QAZ uses only as much RAM as it needs, or as much as there is:
if QAZ works on a particularly large archive where there is not
enough memory, it'll let you know, and still give a partial list-
ing, if possible.
The amount of memory QAZ needs depends on what types of files QAZ
is working on and what you ask QAZ to do. Some archives types
require more memory for processing than others. Very large arch-
ives in some cases require more memory to process. Recursive
scans and tree-viewing also require more memory.
[4.1] Installation
====================================================================
To install QAZ on your system, copy the QAZ.EXE and QAZ.HLP files
into your DOS path (usually the C:\DOS or C:\BIN directories).
Copy the QAZ.HLP file to the same directory as QAZ.EXE if you'd like
the on-line help function to work properly (by using QAZ /? or from
DOS v5, HELP QAZ).
To set up default options check the appropriate section of this
document.
[5.0] Simple Usage
====================================================================
QAZ is actualy very simple to use. Without using any of switches or
options, you can view an archive from the command line simply by
typing:
QAZ filename
Where 'filename' is the name of the archive file you want QAZ to
identify/view. (See the technical notes for specific info on which
file types QAZ can recognize.) If you do not specify an extention,
QAZ will examine all files with that name (ie. assume the extention
as '*'). In fact you can give QAZ a wildcard filespec--for example:
QAZ TEST*.*
You can also give QAZ a list of filespecs you want shown in the
archive:
QAZ EXAMPLE.FOO *.DOC *.TXT READ.ME
This will display all files (if they existed) that matched the file-
specs '*.DOC', '*.TXT' or 'READ.ME' in the archive EXAMPLE.FOO.
[5.1] Using Options and Switches
====================================================================
To see the usage screen, just call QAZ with no filenames or options,
(or if you use an invalid option). You should see a display similar
to this:
Usage: QAZ archive [datafiles] [options] [[|pipe] > stdout]
Options:
--------
/b Bare Listing /w Wide Listing
/l Lowercase /o[-]* Sort Order
/v[*] View /t[f] Tree Structure
/z[*] Time-Zone Adjust /f[*] Formatting
/r Return Exit Code /d[*,*] List Between Date(s)
/u[*] Scan Recursively /s[*.*] List Between Size(s)
* For more information, please read the documentation,
or to read the on-line quick reference, type: QAZ /?
QAZ v2.30 Copyright (c)1993,94 Robert Rothenburg Walking-Owl
Note: if QAZ prefixes the options with a hyphen ('-') instead of a
slash ('/') on your system, then use a hyphen as the 'switch-
character' for your instead.
QAZ includes a variety of options to adjust and customize the archive
listing to your tastes and-or needs. To use the options, simple add
them at the end of the command line. For example,
QAZ OPTEXMP.ARC /W /L
Lists the files in the archive in the 'wide' format and in lowercase.
You can get a brief quick-reference guide to most QAZ options using
QAZ /? (Or from DOS v5, HELP QAZ) which displays the QAZ.HLP file.
The options are _not_ case specific: it makes no different whether
an option is entered in upper- or lowercase.
[5.B] Brief Listings (The /B switch)
====================================================================
Usage: QAZ archive /B
The brief listing switch for QAZ works the same way as the same
option from the DOS 'dir' command. (Similarly, the /B switch
overrides the /W switch).
Only the filenames are listed, with header information, (which is
useful for generating picklist files). If the /B switch is used
along with the /VP or /VU switches, pathnames (if stored in the
archive) will be shown.
To create a picklist (by disabling header information) use along
with the /VQ option.
To disable brief listings, use /B-
Brief listings are compatible with the /L, /D, /S, /O, /VP, /VU
or /VQ options. They are overridden by the /T and /VI options.
[5.W] Wide Listings (The /W switch)
====================================================================
Usage: QAZ archive /W
The wide listing switch for QAZ also works similarly to the same
option from the DOS 'dir' command. (However, pathnames or sub-
directories are not listed.)
Filenames are shown five per line.
To disable wide listings, use /W-
Wide listings are compatible with the /L, /D, /S, /O, and /VQ
options. The are overridden by the /B, /T and /VI options.
[5.V] Viewing Options (The /V switch)
====================================================================
Usage: QAZ archive /V[BCDINQSTUV,0-3]
The /V switch is used to define what is to be viewed or not. Used
with no options (ie. QAZ archive /V) it is equivalent to the /V1P
switch, for compatability with older version of QAZ.
Multiple options may be used with /V (ie. QAZ archive /VNSI).
/VB Brief. (Not the same as the /B switch!) Do not show the
file date/time stamps. Opposite of /VD.
/VC Show Comment. Displays the archive's main comment for
formats where it is not compressed (ARC, ARJ, GZIP or
ZIP formats).
/VD Show Date. (Default).
/VI Identify only. Show only the header which identifies
the archive type, without listing files. (Not compatible
with the /VQ switch).
/VN Supress error messages and warnings. QAZ will not show
error messages or notices that the file contains encrypted
(passworded) files or authentication information.
/VP View full pathnames.
/VQ Quite listing. Header information is not displayed: this
is useful for generating picklist files.
/VS Selective. List archive (incl. header info) if and ony
if it contains selected filespecs, dates or sizes.
Graphics, disk-images and encoded archives are ignored.
/VT View Text. Normally, QAZ ignores text files. If the /VT
switch is enabled, QAZ will attempt to identify the text
to see whether it is an AR7, BinHex, UU-Encoded or XX34-
Encoded file. (Replaces the /t option in QAZ v2.10c).
If the file appears to be an AR7 or BinHex file, QAZ will
attempt to do a listing of the archive contained. (This
option is useful for BBS systems with Mac .HQX files).
Note that decoding a large BinHex file (500k) can take
several seconds.
/VU View full pathnames in Unix format (ie. /FOO/BAR).
/V0 View only the original sizes, date/time stamps and file-
names in the archive.
/V1 Default viewing level. Shows the original and archived
sizes, compression ratios, date/time stamps, and filenames
in the archive.
/V2 Same as default, only shows file attributes if defined.
Meaning of file attributes:
---------------------------
a = archive bit set
d = directory, / = pathspec for file
v = volume label
s = system file
h = hidden file
w = read/write r = read only
/V3 Same as default, though with 'extended' file attributes
(of flags).
Meaning of extended attributes:
-------------------------------
t = text file
p = password protected file
* ! = authentication codes/secured file
* b = backup flag
m = file split (multipartite archive)
c = comment (usu. compressed)
* = Tentative (may be changed)
[5.O] Sorting the Listing (The /O switch)
====================================================================
Usage: QAZ archive /O[-][N,E,D,S,C or R]
The /O switch works similar to the same switch in the DOS 'dir'
command. The files are sorted according to the option given.
/O- Disable sorting (Default). Lists files as they
are stored in the archive.
/ON Sort by Name (Ascending)
/OE Sort by Extention
/OD Sort by Date
/OS Sort by Original Size
/OC Sort by Compressed (Archived) Size
/OR Sort by Compression Ratio
/O-N Sort by Name (Descending/Reverse)
/O-E Sort by Extention (Descending)
et cetera...
Prefixing the sort-type with a hyphen tells QAZ to reverse the sorting
order. Only one sorting option may be used at a time.
[5.F] Formatting the output (The /F switch)
====================================================================
Usage: QAZ archive /F[ACEMPRVZ:$,0-2]
The /F options are meant for customizing the display as well as to
override the system's native country-settings.
Multiple options may be used with /F (ie. /F1VP).
o Formatting the date: QAZ looks at the system's country code set-
tings to determine how to format the date. This feature was added
to reduce the ambiguity between American MM-DD-YY and European
DD-MM-YY formats. QAZ _should_ show file dates and times in the
same format that DOS's 'date', 'time' or 'dir' commands will show.
If you prefer a different setup (aside from changing the COUNTRY.SYS
settings in your CONFIG.SYS file) you can use the /F option to
reconfigure QAZ's display.
/F- Use the system's defaults.
/F0 American date style, MM-DD-YYYY.
/F1 Eurpean date style, DD-MM-YYYY.
/F2 Asian date style, YYYY-MM-DD.
/FV Show verbose months: (the month is written as the
three-letter English abbreviation rather than a
number).
Note: QAZ will use the most-recently set date style. This will
be the style required by the /D option.
o Formatting the ratio: QAZ will normally show the compression ratio
as a decimal. If you prefer, you can change this.
/FR Show as a decimal ratio (Default).
/FP Show as a percentage (ie. 0.256 shown as 25.6%).
/FZ Show as 'zip'-style percentage (ie. 0.256 as 74.4%).
/F: Show as x-to-1 style (ie. 0.256 shown as 4:1).
o Formatting graphics and character sets: miscellaneous options.
These may be useful for on-line systems and BBSs.
/FA Use 7-bit ASCII for display. (This has no effect on
the /T option).
/FC Truncate long filenames (so that they don't extend over
80-columns). Useful for some archives from Amiga, Unix
and Macintosh systems which support larger filenames.
Truncated filenames will have a '[+]' tacked on the end.
/FE Enable ANSI. (Equivalent to the /E option in QAZ v2.00).
The listing will me displayed in multiple colors. This
is meant for BBS-usages, and essentially has no effect
when used with the /B, /T or /W options.
The ability to redefine the colors may be added in later
versions of QAZ.
/FM Disable ANSI, use 8-bit 'cp80' ASCII (Default).
/F$ Show filename and identified file format on two lines
instead of one. The filename is also shown with the
full pathname. (This option is automatically enabled
when using the /U option).
[5.D] Listing only files with/between specified dates (The /D switch)
====================================================================
Usage: QAZ filename /D[ from-date ][,][ to-date ]
When you list an archive, you not only have the option of filtering
which filenames are listed but also their dates. Thus you can list
files before, after or between a given set of dates.
Note: that the /D option expects the date to be formatted in the
same way it will be output. So American date-styles (/F0)
would be in MM-DD-YYYY, European styles (/F1) in DD-MM-YYYY
etc. (The date _must_ be given in numbers. The /FV switch
has no meaning on the /D switch!)
In the diagram below, 'x' and 'y' stand for dates (ie. 7-3-87).
/D- Disables date filtering (Default).
/Dx List only files with date 'x'.
/D,x List only files before and up to date 'x'.
/Dx, List only files with and after date 'x'.
/Dx,y List only files dated between dates 'x' and 'y'.
Only dates are used. You cannot filter files by their time.
Again: QAZ expects dates to be formatted from the /D switch in the
same way they are output. This includes the date seperator:
if QAZ outputs the dates using '/' instead of '-', than QAZ
expects a '/' between date fields.
There is no error-checking for 'invalid' dates!
The following are valid examples of using the /D switch:
QAZ FOO.BAR /F0 /D01-01-93,12-31-93 (American style)
QAZ FOO.BAR /F0 /D1-1-1993,12-31-1993
QAZ FOO.BAR /D1-3-89 (Files dated Jan. 3, 1989)
QAZ FOO.BAR /D1-3-89, (Files after Jan. 2, 1989)
QAZ FOO.BAR /D,1-3-89 (Files before Jan. 4, 1989)
QAZ FOO.BAR /D1-3-89,1-7-89 (Files between Jan 4-7, 1989)
QAZ FOO.BAR /D3-1-89 (Same as above, European style)
QAZ FOO.BAR /D89-1-3 (Same as above, Asian style)
(Months and days need not be two digits. Years need not be 4 digits.)
The /D option has no effect on the /T option.
[5.S] Listing only files with/between specified sizes (The /S switch)
====================================================================
Usage: QAZ archive /S[ smallest ][,][ largest ]
The /S option works much the same as the /D option. You can filter
the listing by original file-sizes, if they are defined. The only
difference is that /S expects numbers, not dates.
Note: Some file formats like JArchive or CP/M-SQ do not store the
original file size, and thus the /S option will not work prop-
erly for them.
/S- Disable size filtering (Default).
/Sx List only files in the archive of size 'x'.
/Sx, List only files greater-than-or-equal-to size 'x'.
/S,x List only files less-than-or-equal-to size 'x'.
/Sx,y List only files of sizes between 'x' and 'y'.
The following are some valid examples of the /S option:
QAZ ARCHIVE.LIB /S65536, (List files >= 65536 bytes.)
QAZ ARCHIVE.LIB /S64K, (Same as above.)
QAZ ARCHIVE.LIB /S,1024 (List files <= 1024 bytes.)
QAZ ARCHIVE.LIB /S10K,16K (List files 10240-16384 bytes.)
QAZ ARCHIVE.LIB /S1M, (List files >= 1 Megabyte.)
Rather than type 10240 you can type 10k as an abbreviation. QAZ
makes no distinctions between 'k' and 'K' or 'm' and 'M' the way
4DOS supposedly does. xK = x*1024, where 'x' is a number.
Again, there is very little error checking. Strange 'values' are
ignored.
[5.Z] Time Zone Settings (The /Z switch)
====================================================================
Usage: QAZ archive /Z[+|-][ timezone ]
The /Z option allows you to enable, disable or set time-zone adjust-
ments for archiver formats that require it.
By default, QAZ checks the contents of the TZ environment variable,
and adjusts the time from GMT (or UTC) with it for formats which
store a file's time-stamp in Unix or Mac formats.
If you prefer to ignore or override this, you can use the /Z option.
/Z Disable time-zone adjustment (all times GMT)
/Z- Same as /Z
/Z+ Enable time-zone adjustment (Default). Use the contents
of the TZ variable.
/Zx Adjust the time-zone to GMT-x hours. Only whole hour
adjustments are used (no half-hour adjustments). Any
integer from -23 to 23 can be used.
Examples:
QAZ FOO.BAR /Z5 (Adjust to GMT-5 hours = EST)
QAZ FOO.BAR /Z8 (Adjust to GMT-8 hours = PST)
QAZ FOO.BAR /Z-1 (Adjust to GMT+1 hours)
The following file formats use Unix or Mac date/time-stamps which
are usually adjusted for (presumed) time-zones:
Codec3
Compact Pro (Mac)
DoubleDisk (Mac)
DWC
GZip (GNU-Zip)
HA
HPACK (No TZ-adjustments for DOS files)
JRchive
LHArc (Unix, Type-2)
StuffIt! (Mac)
TAR
Note: You can also set your system's TZ variable for the appropriate
timezone. Sample settings are TZ=EST5EDT for Eastern Time,
TZ=PST8PDT for Pacific Time, etc.
QAZ will ignore the TZFIX variable, though.
[5.T] Viewing the archive's directory tree stucture (The /T switch)
====================================================================
Usage: QAZ archive /T[F]
The /T option is used to view the directory tree structure of the
files in the archive. It is analogous to the 'tree' command in
DOS.
/T View archive tree structure.
/T- Disable (Default).
/TF View tree structure, with filenames (Same as using /T /VP).
The /T option will override the /B or /W switches. The /FA switch
has no effect on viewing the tree structure.
Note: in earlier versions of QAZ, the /T option was used as a flag to
tell QAZ to view the headers of text files. This option was re-
moved from QAZ v2.21a and was re-added as /VT in v2.29.
[5.R] Using Return Codes to determine the archive type (The /R switch)
====================================================================
Usage: QAZ archive /R[-]
The /R switch is used to tell QAZ to return an exit code identifying
the archive format so that external software can use QAZ to determine
which dearchiving or testing utilities are needed.
/R Return exit-code identifying the archiver or file type.
/R- Disable id exit-codes. (Default).
Note: if QAZ examines more than one file (because of wildcards) then
the identifying code is returned for the last file examined.
See the appropriate section in the Technical Information for a list
of the exit-codes and their meanings.
[5.L] Lowercase filenames (The /L switch)
====================================================================
Usage: QAZ archive /L[+-S]
By default, QAZ displays all path and filenames in uppercase. You
can use this option to change the display to lowercase, or even to
leave the case alone for archives using mixed-case filenames (as in
many Macintosh archives).
/L Lowercase filenames.
/L+ Same as /L.
/L- Uppercase (Default).
/LS "Sensitive". Show as it appears in the archive.
(Filespec matching is not affected).
Note: When listing Mac files, QAZ changes all carriage-returns,
control characters, spaces and backslashes to underscores
('_').
To prevent filenames that are longer than 22 characters from scroll-
ing off the screen, use the /FC option.
[5.U] Recursive Searching (The /U switch)
====================================================================
Usage: QAZ [drive:][path]arch-spec filespecs... /U[ESX+] /VS[TI]
When given a filespec instead of a specific file-name, QAZ will
naturally examine all files in the specified directory that match
the filespecs. When the /U option is used, QAZ will also examine
all the subdirectories as well--thus adding a powerful ability to
search for archives which contain a specified set of files on a
disk.
The /U option _only_ tells QAZ to recursively search subdirectories.
All files examined will be viewed unless the /VS option is used.
If you only want the archive filename shown with no listing, use the
/VSI option.
/U- No recursive searching (Default).
/U+ Recursively search subdirectories.
/UX Show name of files that match given filespecs. Use
this when searching for a file inside of archives to
have QAZ note if a matching file was found not inside
of an archive.
/US Load a 'standard' set of common archive filespecs to
search for. This is useful for searching for files
in an environment with many archive types. When this
option is used, QAZ will examine files with the
following filespecs:
Filespec: Archive Type(s):
--------- ----------------
*.??Z Gnu-Zip, Queasy
*.AR[CJK] ARC, ARJ
*.CP[TZ] Compact-Pro, Central-Point Shrink
*.DWC DWC
*.EXE DOS Self-Extracting Archives
*.GZ Gnu-Zip
*.HA HA
*.[HZ]PK HPACK, Zi-Lite (aka ZPACK)
*.H[AY]P HAP, Hyper
*.ICE Reevesoft Freeze for Windows
*.SIT StuffIt!
*.L[AB]R CP/M Archives (*.LAR, *.LBR)
*.LI[BFM] CP/M Archives or Codec3 (*.LIB)
Knowledge Dynamics *.LIF files
Limit files (*.LIM)
*.LZ[HS] LHArc and LArc
*.PAK PAK
*.SQZ Squeeze-It!
*.TAR Unix TAR
*.Z Gnu-Zip
*.ZIP Zip
*.ZOO Zoo
/UE Load filespecs defined in the QAZSPEC environment variable.
This was the primary way of defining filespecs to examine
with QAZ v2.21. You can set QAZSPEC to the archive types
that you use, including filespecs that are not used with
the /US option.
For example,
SET QAZSPEC=.ZIP .ARJ .ZOO .SQZ .SEA
If you set QAZSPEC with filespecs that are too vague (such
as what was unintentionally recommended in the documentation
for QAZ v2.21a) you will have QAZ unnecessarily examining
files it does not need to and slowing down the search.
/UT Shows the approximate search time. (This feature is some-
what buggy and may give strange values.)
[5.2] More about using QAZ's search function
====================================================================
QAZ will search only the files specicified. You can use 'pure'
wildcards for this, but note that you risk crashing your system
if you have strange files that appear to be something they are
not. Although I have done my best to eliminate this problem,
I could happen.
You also must remember to use the /VS option if you want QAZ to
search for files in an archive, and not to list every file it
examines.
If you only want the name of the archive, and not a listing of
matching filespecs, use /VSI instead.
For example, suppose you want to search drive C for archives
which contain a file called 'FOOBAR.EXE'. You'd use:
QAZ C:\ FOOBAR.EXE /U+ /VSI
If we think that FOOBAR.EXE might also be hidden in some forgotten
directory but not archived, we need not use a seperate file-finder
utility:
QAZ C:\ FOOBAR.EXE /UX+ /VSI
This search may take too long however, so can do one of the following:
QAZ C:\*.ZIP FOOBAR.EXE /UX+ /VSI
If we know that the file is in a Zip archive, this is the best
solution. But what if we're not sure what the filespec used is?
If it's one of the common one's used for /US, then we can use:
QAZ C:\ FOOBAR.EXE /UXS+ /VSI
There are other methods however. We can define a list of filespecs
in the QAZSPEC variable (in which case we'd use /UXE+ or /UXSE+
instead). We can either define QAZSPEC in the AUTOEXEC.BAT file
or spontaneously from the keyboard:
SET QAZSPEC=*.ZIP *.ARJ *.EXE *.LZH
QAZ C:\ FOOBAR.EXE /UXE+ /VSI
o Using Picklists:
----------------
Another method is to use a picklist file...
Let's say we have a text file called FOOLIST.TXT which contains only
the names of files (or filespecs) that we think FOOBAR.EXE might be
in:
QAZ C:\@FOOLIST.TXT FOOBAR.EXE /U+ /VSI
If we don't actually have the FOOLIST.TXT file on hand, we can type
in the names from the console:
QAZ C:\@CON FOOBAR.EXE /U+ /VSI
After typing this, we type in the names or filespecs we want QAZ to
examine (sperated by spaces or a new line), then type Control-Z and
hit enter.
We can also use the picklist method to give the filespecs we want
to search for:
QAZ C:\ @PICKLIST.TXT /U+ /VSI
(Whenever a filespec is preceeded by an 'at' symbol ('@') it is
assumed to be a picklist file.)
o Searching encoded text files:
-----------------------------
The common extentions for BinHex or UU- or XX-Encoded files are not
part of the standard (/US) option, so if we want to search them
as well we must specify the extentions they use _and_ we must tell
QAZ to examine text files more closely with the /VT option.
For example:
SET QAZSPEC=*.SEA *.HQX
QAZ C:\ FOO.BAR /UE+ /VSIT
Note: QAZ v2.30 only has the ability to examine BinHex and AR7
encoded archives. Future versions may also have the ability
to examine UU-Encoded or XX34-Coded files as well.
[5.3] Options removed or changed from previous versions of QAZ
====================================================================
If you previously used QAZ v2.10, please read this section.
The /E ('Enable ANSI'), /T ('View text') and /P ('Page break')
options have been removed since QAZ v2.20.
o Using /T in QAZ v2.20 now has a completely different meaning
(to view the archive's "tree" structure instead).
Rather than view the first few lines of a text file, use /VT
to have QAZ try to determine if it is an AR7, BinHex, UU- or
XX-Encoded file.
If it is an AR7 or BinHex file, QAZ will attempt to list the
contents.
o Instead of defining one preferred color to use with the old
/E option, using /FE displays the list in several colors.
o Instead of the /P option, use QAZ with the |MORE pipe. (See
your DOS User's Guide for more information).
See the appropriate sections on the /T, /VT and /FE options for
more detailed information.
[5.4] Setting Default Options
====================================================================
You can set default options using the QAZCMD environment variable
much in the same way you can use the DIRCMD environment variable for
the DOS 'dir' command.
Suppose you prefer lowercase listings using verbose, European style
dates. and percentages instead of raw ratios. You would use the
following in your AUTOEXEC.BAT file:
SET QAZCMD=/L /F1VP
(No space between '=' and QAZCMD. Case is not important.)
These will be the default options (unless they are overriden) whenever
you use QAZ. Setting custom defaults is also a good idea in case QAZ
incorrectly reads your system's country-code or time-zome information.
Note: if you use an option wrongly in the QAZCMD variable, you'll
always get a usage-error whenever you run QAZ.
To disable the default options setting, you can use this:
SET QAZCMD=
With nothing after the '=' sign.
Although all the options can be disabled or overrided, it's probably
not a good idea to use the /B, /W, /O, /D or /U options as defaults.
Note: Adding the /UE or /US switch will automatically add the wild-
cards to QAZ's search-specs, thus making it impossible to view
a single archive. Only use /UE or /US when searching for files!
[5.5] Using extended wildcards and search-specs
====================================================================
Aside from the standard DOS '*' and '?' wildcards, QAZ can also
handle the 'undocumented' DOS as well as extended Unix-like wild-
cards for the archive-file and filespec parameters.
Note: filespecs in QAZ are _not_ case-sensitive, even when
the /LS option is used.
Undocumented DOS wildcards:
---------------------------
Many DOS commands (like 'dir') allow an abbreviated file specific-
ation format. QAZ will also accept these:
.EXT is equivalent to *.EXT (ie. '.ZIP' = '*.ZIP').
NAME is equivalent to NAME.* (ie. 'FOOBAR' = 'FOOBAR.*').
Extended wildcards:
-------------------
o Picklists: a filename (not wildcarded!) preceeded by an 'at'
symbol is assumed to be a picklist file in the current dir-
ectory. (A picklist is a text file containing filespecs).
For example,
QAZ @ONLY.LST
will look for a text file called ONLY.LST which contains
filespecs or filenames for QAZ to process. Picklists may
also be used as filespecs to look for within the archive:
QAZ ARCHIV.LIB @FILES.LST
This lists the files within ARCHIV.LIB that match the file-
specs in FILES.LST.
The filespecs in a picklist can be on seperate lines, or on
one line seperated by a space. Thus,
*.DOC *.TXT
or
*.DOC
*.TXT
are equally valid.
o 'Not'-Specs: A filespec meaning 'all-but' is also supported.
Any filespec preceeded by a carat ('^') means all files (that
match other filespecs) except that spec. For example,
QAZ ARCHIV.LIB ^.DOC
lists all files in an archive except those that match *.DOC.
Not-specs can be combined with other filespecs:
QAZ ARCHIV.LIB *.C ^FOO*.C
Lists all *.C files except FOO*.C files.
Note: for some utilities the 'Not' character is often a '!'
or '~'. Since there is no standard, the decision to
use the carat is somewhat arbitrary.
o Sets: QAZ also supprts (to a limited degree) the set spec-
ifications supported by some flavors of Unix. Thus,
QAZ ARCHIV.LIB [a-m]*
lists all files in ARCHIV.LIB that begin with characters 'a'
through 'm'.
The following are valid examples of the same set, 'a'-'e':
[a-e]
[a,b,c,d,e]
[abcde]
["abcde"]
[a-c,d,e]
["a","b-e"]
Also supported, are 'Not'-sets:
[^"x-z"]*.*
means all files except those that begin with 'x' through 'z'.
Sets are analagous to using the '?' character, only you have
the option to define what characters are valid.
o Vague Sets: similar to single-character sets are 'vague' or
'variable-length' sets which contain none or some of the
characters in the field. Thus,
{} is equivalent to '*'
X{} is equivalent to 'X*'
however(!),
X{0-9}
is valid for all files from 'X0' to 'X9999999'.
The first two examples show some 'bugs' in the use of vague-sets.
Earlier releases of QAZ encourages some creative uses of {}-sets
that turned out to be equivalent to using '*.*'. Thus,
*.{h}p{a}k
was meant to mean *.HPK and *.PAK, however using the vague-set
as a first character meant that any extention (ie. '*.*') would
be valid.
o Text Specs: we can preceed a filespec with a word inside paren-
theses to indicate that we want files that contain that 'word'.
For example,
("MD5")*.C
is valid for all *.C files that contain 'MD5' in the filename
field. Thus 'MD5.C', 'MD5SUM.C', 'CALCMD5.C' and 'HMD5FILE.C'
would all be valid.
If the extended filespecs seem confusing, try experimenting with a
large archive file in order to get a handle on using them.
[5.6] Using QAZ from a BBS
====================================================================
QAZ outputs the listing to STDOUT (stanard output), which means
that the output is redirectable. So far (that I know of) QAZ has
been used on Renegade and TBBS (via MFM-LAN for a multiline sys-
tem) systems with no problems.
If you plan to run QAZ on a BBS, consult the documentation for
appropriate macros and defaults on your system, especially where
you would install archive viewers.
SysOps who ran earlier versions of QAZ (v2.10c and earlier)
should read the section on changed options to be sure there
are no compatability problems.
It's recommended that SysOps _not_ use the /B, /W, /T, /D or /O
options for on-line viewing. In some cases the /R option might
also cause problems (as the BBS or LAN software might think an
error has occurred).
Most certainly you don't want to use the /U option either, since
it is unnecessary in the very least, and at most will tie up the
users' time. (A BBS-Door that utilizes QAZ to search for an archive
that contains a file is in the works.)
You might want to use the /FC switch to truncate filenames that are
too long (and would overlap to the next line in the display). If
your system also carries many Macintosh files (.SIT, .CPT and .HQX)
then you might consider adding the /VT switch for files in BinHex
format.
If you'd like to use a multi-colored ANSI display, use the /FE
option if the system you're using is friendly towards ANSI codes.
Note: the /FE switch is equivalent to the old /E switch in QAZ
v2.00, although the display looks much better...
When in doubt, use no options at all.
[5.7] Messages
====================================================================
An brief explanation of messages (errors and information) which
QAZ gives:
o Path not found: QAZ was given an invalid pathspec
--------------- for the archive.
o File not found: QAZ was given an invalid filename
--------------- for the archive or a picklist. The
file does not exist in the specif-
ied path.
o Unrecognized Option: QAZ was given an invalid option, or
-------------------- the QAZCMD environment variable con-
tains an invalid option. A carat ('^')
will point to the offending character
in the option.
o Can't find C:\DOS\QAZ.HLP: This message occurs if the QAZ.HLP
-------------------------- file is not in the same directory as
QAZ when the help screen is called
(using QAZ /? or HELP QAZ). If you
have the QAZ.HLP file in a different
directory, you can use the QAZPATH
variable to define where the help file
is (ie. SET QAZPATH=C:\DOS\).
o Invalid filespecs ignored: Invalid filespecs or non-existant
-------------------------- picklist files (@filename) were given.
QAZ ignores these.
o Unknown File Format: QAZ cannot identify this file.
--------------------
o Unknown SFX or not an archive: The file is an executable, but QAZ
------------------------------ cannot identify it. The file is
either an executable or an unknown
self-extracting archive or graphics
format.
o Possibe [archive type]: A file appears to be of a certain
----------------------- archive format, however there are
errors so that QAZ cannot list any
files from this archive: it most like-
ly is not an archive at all, but a
false positive. (This will occur most
often for ARC files.)
o This file is encoded...: The file is encrypted and/or the dir-
------------------------ ectory information (if any) is com-
pressed. Some formats like Unix
'compress' or UC2 will always generate
this message. Other types like HPACK
will generate the message is the
entire archive is encrypted.
o No files! QAZ was unable to generate a directory
--------- listing for this file (possibly a
false positive) or the given filespecs
with date- and size filter (/D and /S
options) do not exist in the archive.
o This file is either damaged..: The file is (a) damaged, (b) not com-
------------------------------ patible (new version, or a different
system, as in Amiga .LHA files), or
(c) not an archive (probably a false
positive).
o This is part of a multipartite archive: The files is part of a multi-
------------------------------ partite archive, so a complete listing
(if any) may not be possible. Some
HPACK and GZIP files may generate this
message.
o This archive contains authentication information: The archive appears
------------------------------ to contain authentication codes.
Either the entire archive or individ-
ual files in the archive are authentic-
ated/secured. QAZ does not check the
validity of codes, only notes their
presence. QAZ can only detect this for
ARJ and HPACK archives.
o This archive contains passworded files: At least one file in the ar-
------------------------------ chive is marked as encrypted, (or in
the case of Codec3 archives the file
requires a password but may not be
encrypted). QAZ can only detect this
for ARJ, Codec3, HPACK and ZIP arch-
ives. There is no way to detect
encrypted ARC files.
o This archive contains more files than QAZ can process: The files con-
------------------------------ tains more files than there is memory
for QAZ to process the archive.
o Examined ... matched files: This message appears when QAZ examines
--------------------------- more than one file. It tells how many
files/archives were examined, and how
many files matched the given filespecs
(and date- or size-filters).
o Runtime Error ... : This message is rare, since most I/O
------------------- errors are taken into account for.
They've only occurred when using wild-
cards to search disks that have bad
sectors or drives that fail periodic-
ally (one of my disk drives is on it's
last legs and periodically gives a
hardware failure error).
[5.8] Questions/Problems
====================================================================
o Why doesn't QAZ show the archive comment when I use the /VC option?
------------------------------------------------------------------
Some archivers like LHArc, HPACK or SQZ compress the comments.
(In some cases with UC2 or HPACK the comments may even be GIF or
JPEG files). In these cases QAZ shows nothing.
o Why does QAZ show a blank field?
------------------------------------------------------------------
Depends on the archive. For some formats information such as file
attributes or the original size is undefined. Sometimes even the
filenames may be undefined.
o Why does QAZ say there are no files in this archive?
------------------------------------------------------------------
No files in the archive fit the given filespecs (including date
or size filters). Change the defined filespecs. Also check the
QAZCMD variable in case /d or /s options were defined. It's
also possible an error occurred (in which case QAZ will tell you)
o Why does QAZ search filespecs I don't specify?
------------------------------------------------------------------
Check the definitions in your QAZCMD or QAZSPEC variables. Likely
you are using filespecs that are too vague: this was an unforseen
'bug' in the QAZ v2.21a release. Do not start a filespec field
(name or extention) with a 'variable length' {}-set.
o Why does QAZ show 'garbage' when viewing a file?
------------------------------------------------------------------
Likely it's a false positive, or the archive is damaged. It's
also possible that the archiver (such as HPACK) has stored the
filename in a non-ASCII format (such as EBCDIC or UniCode).
o Why can't QAZ process the archive when the archiver can?
------------------------------------------------------------------
A new version of the archiver? Or something undocumented about
the archive format? Or something I was unable to hack... In
some cases (HPACK) this version of QAZ cannot handle every aspect
of the archive format (check the Technical Notes for more inform-
ation).
o Why does QAZ say the file is an ASCII text file?
------------------------------------------------------------------
The file probably is. If the file is an AR7 or BinHex-encoded
archive, you need to use the /vt option, which tells QAZ to
take a closer look at the file.
[6.0] Technical Information
====================================================================
QAZ attempts to identify a file by looking at its beginning and
end for header/trailer information, or for distinguishing char-
acteristics that indicate the file is probably of a certain type.
Only in a a couple of cases where the information is vague does
QAZ check filenames as added confirmation (in these cases, the
filenames are generally required).
If the file turns out to be an executable, QAZ checks a set of
tables of known self-extracting archives. Generally false posit-
ives are rare, however there is a likelyhood that QAZ will not be
able to identify a self-extractor that is not in the table (either
a new or old, obscure version of the archive).
This is a more reliable method of identification than searching
through an executable for header-information (which is only worth-
while for a few archive types).
Another method would be to examine the EXE-file header information,
which some archivers will do; however I have not found this to be
consistant enough to rely on for more than a few formats.
The types of files that QAZ attempts to identify are (a) Archives
files which are collections of other files, sometimes compressed
(b) Compressed files, which may be compressed/encrypted archives
(c) Disk images, which are compressed files containing an 'image'
of a floppy disk, (d) Graphics files (e) And self-extracting ver-
sions of the above.
For archive files, QAZ gives the directory of files inside. For
graphics files, QAZ gives the resolution and number of colors.
For other types, QAZ simply identifies the format and notes that
it cannot be viewed.
[6.1] What files can QAZ recognize?
====================================================================
QAZ will recognize and list the following archive formats:
* o ARC (ARC, PKARC, PKPAK in various flavors) and PAK v2.51.
o Archaic CP/M Library format (LAR, LU).
* o ARJ v2.41a.
o Central-Point Shrink.
o Codec3 (Codec 3.10).
* o Compact Pro (Mac).
* o DWC A5.01.
* o DoubleDisk Archives (Mac).
o Gnu-Zip v1.2.4. (Single files.)
o HA v0.98.
o Hamarsoft's HAP & PAH 3.00 (Should be compatible with 3.14).
o HPACK v0.78a0.
* o Hyper v2.6.
* o JRchive v1.0
o Knowledge Dynamic's .LIF format.
* o LHArc (Type's 0-2) and relatives (AR, PUT, SAR)
as well as the older LArc (.LZS) format.
o Queasy (QEZ) v1.2.
o ReeveSoft's Freeze for Windows v1.0.
o CP/M Squeeze (SQ, SQPC). (Single files.)
* o Squeeze-It! (SQZ) v1.08.3E.
* o StuffIt! (Mac).
o Unix TAR.
* o Zip (PKZIP, Info-Zip).
* o Zi-Lite (aka ZPACK) v2.20.
o Zoo v2.10.
QAZ can recognize but cannot list the following formats because
the files are compressed, encoded or encrypted:
o Diet v1 (Resident, Single files.)
o KBoom v1.1. (Single files.)
o MiscroSoft COMPRESS v2.00. (Single files.)
o PackIt! (Mac).
o Pretty Good Privacy (PGP) v2.
o Slim (Resident, Single files.)
o UltraCompressor II.
o Unix Compress (COMPRESS, ZCOMP, EZCOMP) v4.1. (Single files.)
o Unix Freeze v2 (Single files.)
o UU-Encoded with the /VT option.
o XX34-Encoded with the /VT option.
QAZ can recognize the following text-encoded (usu. for E-Mail)
file formats if the /VT option is used.
o AR7 (E-Mailable form of AR.)
o BinHex 4.0 (Mac).
Archive formats that can be listed from within BinHex:
- Compact Pro.
- DoubleDisk.
- StuffIt!.
- All SEA (Self-Extracting Archive) versions of the above.
o PGP-Armored Messages (Not nec. encrypted.)
o UUENCODE
o XX34 v01
QAZ can recognize some of the following disk-image formats
* o Disk Express (DXP and DSKEXP).
* o Disk Image (DIM) v1.4.A
o Disk Squeeze v3.00.
o IMG v2.0B.
QAZ can recognize some of the following graphics file formats:
o BMP
* o GIF87a and GIF89a
o PCX
* Some self-extracting forms are recognized.
Previous versions of QAZ had a uselessly detailed list that made
the number of archivers QAZ could handle look inflated. This
format gives a more realistic account of what QAZ can handle.
[6.2] What's new about this version of QAZ? (Detailed)
====================================================================
The following changes were made since the release of QAZ v2.29ß:
o Added /FE option for multicolor ANSI displays.
o Rewriting most of the documentation: it really needed it!
o Changed Uppercase function to conform to the system's native
country settings.
o Added recognition of Mac DoubleDisk archives.
o Improved handling of Compact Pro archives. Added recognition of
self-extracting StuffIt! and Compact Pro archives.
o Added /FE option to enable multi-color ANSI listing for BBS.
o Added on-line quick reference screen(s). Use: QAZ /? (or in
DOS 5.0: HELP QAZ) to view.
o QAZ checks the CRC of BinHex files.
The following changes were made since the release of QAZ v2.21a:
o QAZ can now handle more than 32 filespecs (although in most cases
this limit would never have been reached).
o Fixed a bug reading certain ZIP files with large 'extra-fields'.
o Added recognition of some text-file archive formats (using the
/vt option). Added the ability to decode and list BinHex 4.0
and AR7 files.
o Added 'flagging' of encrypted files within archive, if detected.
Also will note if an archive contains encrypted or authenticated
files, if possible.
o Added /vn option. Improved /v2,/v3 option for extended attrib-
utes. Added /vc option (works only for ARC, ARJ, GZIP & ZIP
archives--notes that comments are encoded for SQZ and HPACK
files). Added /vb and /vd options to (not) view date/time.
o Added /fc option to cut off filenames that are larger than 22
characters (i.e. they don't fit in the /v1 mode): they are
flagged with a '[+]' at the end of the filename.
o Fixed bug with /s option (exact size).
o Fixed bug with /d option for archives where the date/time is
undefined (AR, LAR, BinHex).
o Added recognition of archives with authentication information
or encrypted files (ARJ, GZIP, HPACK, Codec3, and ZIP).
o QAZ can handle archives with more files than before.
o Added recogniztion of LArc (.LZS) files and Mac "StuffIt!" (.SIT)
files.
o Improved handling of HPACK archives.
o Better recognition of ZIP files. No longer confused with certain
font files.
o Scrapped the filename validation scheme for a 'smarter' method.
o The problem that caused QAZ to crash or go into infinite loops
or halt with a funtime error with certain weird files (espec-
ially when doing a recursive scan) was fixed.
o Breaking out of a recursive scan (either because of a user-
break or a runtime error) leaves the user in a different
directory in v2.21a. Changing directories was unncecessary.
o /ue+ option doesn't work? Wrong! Configuring with vague {}
sets like .{}z and .{h}p{a}k might be showing off, but it
loosens things a bit: .{}z would accept _anything_, and
.{h}p{a}k would accept .bak (why?).
o Added /us option (use standard extentions) and /ux (if file
is found, but not in an archive) options.
o QAZ recognizes ARC files with the date undefined.
o Improved recursive searching routines. Apparently QAZ had
orphaned some memory when it _wasn't_ recursively searching.
Not a major problem. (Fixed in 2.21a)
o Goof in the filename validation scheme bigtime. QAZ wasn't
able to read HPACK archives because of it. (Fixed in 2.21a)
o Memory-conservation scheme also muffed up filespec searching
with Zi-Lite archives. (Fixed in 2.21a)
The following changes were made since the release of QAZ v2.10c:
o Removed the /t and /p options. (The /e option was removed after
QAZ v2.00). Use the |more pipe as a substitute for the /p
(Page Break) switch.
o Added the /t option to view directory trees, similar to the 'tree'
command in DOS. It is _not_ the same as the old /t option!
o Added the /r option to return the identified archive type as an
exit code for other programs to use.
o Added multiple levels and viewing options to the /v switch.
o Option(s) to sort by compressed size (/oc) and compression
ratio (/or) were added.
o Added the /d and /s options to view files between specified
dates and-or times.
o Default options may be set in the QAZCMD environment variable,
similar to the way the DIRCMD variable is set for 'dir'.
o Added the use of 'extended' wildcards for search-specificatios,
including sets and substrings. QAZ can also handle non-DOS file-
names (Unix, Amiga) better.
o QAZ determinates the system's default characteristics, including
the SwitchChar and Country Code information do that it adapts it-
self to the user's native settings. (Can be changed with new
/f switch.)
o Added time-zone adjustment for archives that use it (HA, LHA
type-2, DWC, and others). Can be set through the TZ variable
or the new /z switch.
o Fixed bug in converting Unix-style dates that occurs for dates
after December 26, 1993.
o Fixed bug: QAZ now traps invalid directory paths.
o Recognition of HYPER archives other than v2.6 (Other versions
were mistaken recognized as ARC v6).
o Fixed some bugs with HPACK archives. QAZ can ignore invalid
filespecs, and can handle subdirectories and comments, as well
as authenticated or encrypted archives better. (Older versions
of QAZ would crash the system when used on some HPACK archives).
o Bug where filespecs were reset when viewing multiple archives
was fixed.
o Added recognition of LHA Types-1 and -2 archives.
o Added recognition of DWC, ReeveSoft Freeze (.ICE), JRchive,
Knowledge Dynamics' LIF, PAK, QEZ, TAR, Codec3, and UC2 arch-
ives. (Note Codec files would be flagged as 'CP/M Squeeze'
in previous versions of QAZ.)
o Added recognition of various disk-image file types (including
"Disk eXPress", IMG, and DSQ).
o Added recognition of Slim, KBoom and MicroSoft COMPRESS files.
o Added processing of GNU-Zip format: QAZ will now display original
file information on GZIP'd files.
o Added processing of CP/M Squeeze format: QAZ will display the
original filename.
o QAZ attempts to distinguish between 'dialects' (such as LHA, IMG,
AR, & SAR; or ARC & PAK, which have similar formats).
o Much code-rewriting, 'modularizing', et cetera.
o The display is somewhat changed.
o The 'guilty' parameter in unrecognized options is flagged.
[6.3] Problematic files and known "bugs"
====================================================================
Some files are not recognized by QAZ due to certain technical limit-
ations. Other types might not be processed properly because in many
ways QAZ is a hacked-kludge for certain formats for which I have no
documentation for. Another obvious technical limitation is that
.tar and .lar arcvhies which are compressed cannot be viewed.
Problems noticed since QAZ v2.21a:
o QAZ requires a MacBinary header to identify Compact Pro (.CPT)
files.
o Using the /E+ option on an entire hard disk which contains a
multitude of strange files (using '*.*' as the search spec
for the archiver) risks causing some problems for QAZ.
Problems known about since QAZ v2.10:
o Multiple extention fields are flakey. 'foo.tar.Z' will match
'*.tar.Z' but not '*.Z'.
o Self-extracting archives made with ComPack cannot be viewed,
since they are essentially an uncompressed SFX-archive that is
compressed with an executable-file compressor. (Added to this
is that ComPack'd executables will crash my system anyway.)
o Self-extracting GIFs made with Graphics WorkShop do not have a
GIF header. It would take quite a bit of hacking with many
versions of GWS to add this ability.
o Some Amiga LArc files (with an .LHA extention) do not seem to
conform to the LHArc standard, and thus QAZ will gag on them and
give a message that the archive is either corrupted or incom-
patable.
o Some HPACK archives may not be properly processed. Only HPACK
Level 1 archives are supported. Authenticated HPACK files, or
files from some non-DOS systems may not be properly processed
(such as with EBCDIC or UniCode filenames).
o File date/time stamps in CP/M Libraries will not be shown. That's
because the version I have does not support them. (Pending some
documentation or a newer version or LAR or LU...)
o Time-Zone conversion is weird for archivers that are weird about
it. My copy of TAR assumes that it is always PST, and JRchive
and sometimes Codec seem to adjust for GMT-4. QAZ always assumes
the TZ adjust-ments are correct.
o I have been told that some 256-color GIFs are incorrectly noted
as having less colors. I have not found this problem with my
GIF collection.
o New features being added to QAZ are detection of multipartate
archives and the /v2 option of viewing file attributes, host
operating systems, etc. They are essentially undocumented 'beta'
features, so do not rely on them for this version of QAZ.
o QAZ does not support overlayed or interlaced GIFs, (at least not
very well).
[6.4] Formats _not_ (yet) supported by QAZ
====================================================================
Some archive formats just have no discernable header or trailer
data to indicate their format--only a filename, if that. Other
formats, due to certain technical limitations, cannot be identified
(or if id'd, not listed). Generally most are meant more as demon-
strations of compression algorithms than as allpurpose archiving utilities.
Thus, the following compression utilities are not (yet?) supported
by QAZ:
Archiver Ext Version Comments
-------- --- ------- --------
GAS .GAS 2.0
LZ Pascal version of LZHUFF
LZARI
LZHUFF
LZSS
LZCOMP 1,2,3
RLE8 .R8
RLE16 .R16
UUENCODE .UUE Only superficially recognized.
XX34 .XX Only superficially recognized.
Future versions of QAZ may give the ability to view archives that
are UU- or XX-Encoded.
[6.5] Exit codes returned using the /R option
====================================================================
When using the /R option, QAZ will return an exit code indicating the
file type. External programs (such as batch files) can use this
information to determine what utilities to use on the file.
The following is a list of the return codes:
Code Meaning (or archive type) QAZ Version
---- ------------------------ -----------
0 Unknown file type
1 An error has occured (possibly a bad archive)
2 Memory overflow
15 * Unidentified/Miscellaneous (Reserved)
16 Possibly an ASCII (7-bit) text file
17 AR v0.02 (Use AR or LHA-compatable)
18 AR7 - QAZ v2.29
19 ARC
20 ARJ
21 Compress (Unix)
22 Compact Pro (Mac .CPT) - QAZ v2.29
23 Central Point Shrink (CPSHRINK)
24 Diet v1
25 DWC
26 MiscroSoft Compress (Use EXPAND)
27 Freeze v2 (Unix)
28 GNU-Zip
29 HA
30 Hamarsoft HAP
31 Hyper
32 HPACK - QAZ v2.21a
33 ReeveSoft Freeze v1.0 (for Windows)
34 * (Reserved)
35 KBoom v1.1
36 CP/M Library File (Use LAR, LU/LUE)
37 * LArc (Amiga .LHA)
38 * Knownledge Dynamics .LIF File
39 LHArc
40 PAK
41 PGP-Encrypted (.PGP)
42 PackIt (Mac .PIT) - QAZ v2.29a
43 * PUT (Use LHA-compatable)
44 Queasy (.QEZ)
45 SLIM
46 StuffIt! (Mac .SIT) - QAZ v2.29
47 Squeeze-It! (.SQZ)
48 UltraCompressor II (.UC2) - QAZ v2.21
49 CP/M Squeeze (SQ)
50 ZIP
51 ZOO
52 Zi-Lite/ZPack (Usu. SFX) - QAZ v2.21a
53 TAR
54 SAR
55 Codec3 - QAZ v2.21
56 JRchive - QAZ v2.21
57 LArc (Use LHA to decompress) - QAZ v2.29
58 BinHex 4.0 - QAZ v2.29
59 * Mac Self-Extracting Archive
60 Mac DoubleDisk Archive - QAZ v2.29a
128 BMP Graphics
129 GIF "
130 * " (Reserved)
131 * JPEG "
132 PCX "
133 * TARGA "
134 * TIFF "
255 Syntax Error (Bad Option)
Note: Formats marked with an asterisk (*) are reserved for future
versions of QAZ. Formats marked with a version number are
not returned by earlier versions of QAZ.
StuffIt! or Compact-Pro files encoded with BinHex should return an
exit code for BinHex.
To suppress output using the /r switch, one can do either of the
following:
QAZ archname /R /VQ ^*
QAZ archname /R /VQI
QAZ archname /R > NUL
For an example of how to use the /r switch from a batch file, look
at the included file UNQAZ.BAT. This file uses QAZ to identify the
archive type and then attempts to unarchive the file.
UNQAZ is only a barebones prototype for DOS, and requires a bit of
tweaking and improvement.
[6.6] Future Additions to QAZ
====================================================================
Aside from newer versions of existing archives (including SFX),
QAZ may also add support for the following archive types, as
information and/or requests come:
Ext Archive Name(?) Host Operating System(s)
--- ---------------- ------------------------
.CMP Comp-2 Unix/DOS
Compact Unix/DOS
Disk Expander (?) Mac
Kvetch
.LHA LArc (?) Amiga*
.LIM Limit 1.0 DOS
.LZRW LZRW2 (?) Unix
.MD MD (?)
.PIT PackIt Atari/Mac
.PP Power Pack Amiga
.SEA Self-Extracting Archive Mac
Shrink Unix/DOS
Stowaway
.UC2 UltraCompressor II DOS
.Y Yabba Unix/DOS
* QAZ Amiga .LHA files as LHARC (which they are), though they seem
to differ from the standard enough to cause an error.
Other file types, including graphics formats like JPEG, Targa, TIFF,
may also be added, as well as the ability to read and list UUEncoded,
XX34 and PGP-Armored archive or graphics files.
A special option used with the /R switch to determine if an id'd
file contains authentication info, encrypted/passworded files etc.
is another possible addition.
Options to manually set the country-code used by QAZ will also be
added, once I am able to get the appropriate DOS functions to work
(I think there may be bugs in all DOS versions before 6.0 where this
function does not work properly).
Other plans for the future are converting QAZ to C/C++ (all 200k+
worth of source-code), more optimization and porting QAZ to other
environments (like Amiga, or Unix) are in the works.
[7.0] Contacting the author
====================================================================
If you have any questions, comments, suggestions, bug-reports or
contributions, you can attempt to reach me at one of these locations
electronically:
Internet: robert.rothenburg@asb.com
robert.rothenburg@woodybbs.com
Rime: ->5190
Snail: Robert Rothenburg Walking-Owl
P.O. Box 1327
Stony Brook, NY 11790 (USA)
(Public-Key available from keyservers.)
If you write any utilities which make use of QAZ, please send me
a postcard or message.
[7.1] Thanks and acknowledgements
====================================================================
A partial listing of people who've beta-tested, commented on,
contributed information or replied to my requests:
Timm Erickson
Hari Hirvola
Joe Jerszynski
Todd Kempf
Joe Negron
Brian Niegocki
Walter Scott
Jorj Strumolo
Nico de Vries