home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 31
/
CDASC_31_1996_juillet_aout.iso
/
vrac
/
fact127.zip
/
FACT.DOC
< prev
next >
Wrap
Text File
|
1996-05-23
|
17KB
|
388 lines
FACT v1.27
(Revision history is at the end of this file)
DOS utility: Freeware Archive Conversion Tool
Freeware, copyright (c) May 23, 1996
by
David Daniel Anderson
Reign Ware
** READ REIGNWAR.TXT FOR LEGAL TERMS **
** NEWS FLASH! FACT support provided in the ILink Compression conference! **
FACT is the world's ONLY freeware archive converter for DOS which preserves
complete subdirectory structures and converts ALL nested archives - even
those in subdirectories. (FACT is unique in this regard, as far as I know.)
FACT is easy to use, small, command-line operated, fully user-expandable AND
includes full Pascal source code.
FACT also includes a companion utility (SMALLEST.EXE) which will save only
the smallest of the newly converted archives. See SMALLEST.DOC for details.
DOCUMENT SECTIONS GO TO LINE NUMBER
--------------------------------------------------
Preparation, Instant Start 40
Fast Start Information 58
Detailed Explanation 79
The ".INI" Files 146
Compressor Features and Limitations 169
Duplicate Nested Archives 280
The Future of FACT 310
Revision History 336
//////////////////////////////
| PREPARATION, INSTANT START |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Preparation:
Before running FACT, put FACT.EXE and FACT.INI together in one directory.
This directory need not be on the PATH -- just run c:\dir\FACT.EXE if the
directory is not on the PATH. No other FACT files are needed to run FACT.
Instant start:
1) Follow instructions above regarding preparation.
2) Run "FACT" with no parameters to see a help screen.
3) Test thoroughly.
4) Use and enjoy! (You may wish to use "MAKETINY.BAT".)
//////////////////////////
| FAST START INFORMATION |
\\\\\\\\\\\\\\\\\\\\\\\\\\
Usage : FACT archives .NewExt [-d] [-q] [-w] [-1]
Where : "archives" is specification of the archives to convert.
: ".NewExt" is the extension(s) you wish to convert them to.
: "-d"=del - forces the original archive to be deleted. [Optional]
: "-q"=quiet - hides most of the compressors' messages. [Optional]
: "-w"=watch - causes FACT to pause after every action. [Optional]
: "-1"=1 level - only recompress the _primary_ archive. [Optional]
Examples : FACT c:\dls\*.zip .lzh
: FACT somefile.arc .arj .zip .uc2 -d
: FACT anyfiles.* .rar -d -q
Hints : DOS wildcards may be used when specifying the archives.
: Multiple ".NewExt" new extensions may be specified at one time.
////////////////////////
| DETAILED EXPLANATION |
\\\\\\\\\\\\\\\\\\\\\\\\
Command line: FACT archives .NewExt [-d] [-q] [-w] [-1]
archives - This is where you specify which archives you wish to
convert. FACT will only convert archives which have
been defined in FACT.INI, and which FACT is able to
validate when it runs.
You may use DOS wildcards (* and ?) when specifying
which archives to process.
Examples: c:\dls\*.*
*.zip
funnier.ar?
d:\temp\bbs\dir01\pk*.lzh
.NewExt - Substitute the extensions used by the compressor or
compressors that you wish to use. You may specify
more than one new extension. Separate with spaces.
You *must* include the period at the beginning!
Examples: .rar
.rar .uc2 .lzh
.acb .ha .yc .rar .zip .arj .paq
-d - This will cause the original archive to be deleted
(delete) when FACT is done processing. FACT is intelligent
enough to NOT delete an archive which was simply
recompressed. In other words, if you recompress all
the archives in a directory to ".arj", and some of
them are *already* ARJ files, FACT will not delete
any of the ARJ files.
-q - QUIET mode causes most of the messages from the
(quiet) compressors to be hidden (sent to NUL). A few
messages from FACT itself will still be displayed.
QUIET and WATCH mode affect different output, so you
may use both at the same time.
-w - WATCH mode causes FACT to pause after running each
(watch) compressor/ decompressor, and at various other times
after it has displayed something of note.
WATCH mode is especially useful when try to remedy
problem conversions.
QUIET and WATCH mode affect different output, so you
may use both at the same time.
-1 - Only recompress the primary archive. Do NOT recompress
(1 level) any nested archives. This can speed up processing.
I recommend that all archives intended for redistribution
be processed with this switch. Converting nested archives
may cause an installation program to function improperly.
////////////////////
| THE ".INI" FILES |
\\\\\\\\\\\\\\\\\\\\
Like many programs today, FACT.EXE uses an ".INI" (pronounced "in'EE")
file to allow the user to "initialize" (or set) various options.
FACT.EXE and FACT.INI must be located in the same directory as each other.
That is the *only* place where FACT.EXE will look for FACT.INI.
The FACT package includes three .INI files. You may use any one of them.
Simply rename it to FACT.INI and place in the same directory as FACT.EXE.
This is what each contains:
1) FACT.INI - simple INI file with definitions for just six of
the most common archives (ARC, ARJ, LZH, RAR, UC2 and ZIP).
2) MINI.INI - same as above. This is a backup or reference copy.
3) FULL.INI - many more archivers defined. Also includes instructions
for defining even more, and for revising the existing ones.
///////////////////////////////////////
| COMPRESSOR FEATURES AND LIMITATIONS |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Each compressor has different features, and different command-line options
to activate those features. In most cases, FACT is not able to accomplish
anything that the compressors themselves cannot.
Below is a list of features that I try to support in FACT, with accompanying
notes on which compressors actually have those features.
*) Processing subdirectories within archives.
Very few compressors written prior to about 1991 include subdirectories
when creating archives.
Unfortunately for people using those compressors, many programs today are
distributed with directory structures in the archive.
For those compressors that do not include subdirectories, the directory
structure is destroyed upon conversion. FACT awkwardly works around this
limitation by compressing each subdirectory as a separate archive.
This isn't an ideal solution, but I think it helps keeps files separated.
The following have been tested, | The following have been tested,
and reliably archive subdirectories | and do NOT archive subdirectories
-------------------------------------|-----------------------------------
ACB | ARC (most versions)
AIN | DWC (limited support, see FULL.INI)
ARJ | HAP
HA | JRC (JRchive)
HPK (HPACK) | PUT
HYP (HYPER) | SAR
LIB (CODEC) | ZOO (incompatible method)
LIM (LIMIT) |
LZH (LHA) |
LZS (LARC, by MIKI et al.) |
PAK |
PAQ (Quantum) |
RAR |
SQZ (Squeeze It) |
UC2 (Ultra Compressor) |
X1 |
YC (YAC) |
ZIP (PKZIP, INFO-ZIP) |
-------------------------------------------------------------------------
*) Authenticity verification/ Security envelopes/ Protection/ etc.
PKZIP, ARJ, RAR and UC2 all have some feature to alert the user to the
possibility that an archive has been tampered with.
In theory, one should avoid converting these archives, since the anti-
tampering protection will be removed.
I tried to write FACT so that it would detect these anti-tampering
schemes, so that it could avoid converting archives employing them.
However, since I was unsuccessful in finding easy and reliable methods
of detecting whether they had been used, I was unable to write FACT to
respect them. If anybody can and wishes to help me out, please do so!
*) Archive and file comments.
Many modern compressors allow the user to include comments in the
archive. Sometimes comments are also allowed for each included file.
FACT does *not* preserve these comments, for these reasons:
1) Many compressors do not support them.
2) The overhead associated with saving and adding them would be
horrendous.
*) Archive time/ date stamp.
When modifying archives, most compressors allow the user to choose to set
the archive's time/date stamp to that of the original, that of the newest
file contained in the archive, or to the current system date/ time.
FACT always sets the archive time to the date of the newest file within.
Supporting other options *may* be a feature in future versions of FACT.
*) Extensions different from a compressor's default extension.
Most compressors allow the user to choose what extension to put on the
archive. When modifying the archive, these compressors are able to
examine the file itself to determine if it is the expected type.
FACT only looks at file extensions, it does not examine the file itself.
In other words, if FACT finds a file named "SODA.ZIP", it will assume
that it is an archive created by PKZIP, INFO-ZIP or some other compatible
archiver. If "SODA.ZIP" is really an ARJ file, a text file or anything
*but* an actual ZIP archive, FACT will be unable to decompress it. In
that case, FACT will leave it as is.
Some archive convertors examine each file, and convert archives base on
their "signatures". FACT does not, for the following reasons:
1) Very seldom do archives have an extension other than the
default.
2) When they do, it is usually for a good reason: they may be
installation files which must remain in their original format
in order for the installation program to function properly.
/////////////////////////////
| DUPLICATE NESTED ARCHIVES |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Other than the compressor limitations noted above, you should be aware of
the following problem that has no ideal solution.
When an archive contains two or more archives with the same file name, but
different file extensions, and both are in the same subdirectory, only one
will be recompressed as specified.
For the purposes of the explanations below, assume you have an archive named
BRITAIN.ZIP, which contains within it the archives WALES.PAK and WALES.ARC.
BRITAIN.ZIP >──┬──> WALES.PAK
└──> WALES.ARC
*) When you tell FACT to convert BRITAIN.ZIP to BRITAIN.ARJ, FACT
will simply skip WALES.PAK or WALES.ARC - it only converts the
first archive it encounters.
*) But if you tell FACT to convert the BRITAIN.ZIP to BRITAIN.PAK,
FACT converts the first WALES archive that it encounters, and
then renames the other one.
When renaming, FACT substitutes a hyphen for the first letter of
the file extension. Thus, FACT would either rename WALES.ARJ to
WALES.-RJ or WALES.PAK to WALES.-AK.
//////////////////////
| THE FUTURE OF FACT |
\\\\\\\\\\\\\\\\\\\\\\
I do have plans for future versions of FACT!
Revisions may include:
*) An option to specify on the command line which .INI file to use?
PLEASE tell me if you want this!
*) An option to scan a file that specifies which extensions to use.
This would only be needed by compressor enthusiasts, for when the
command line isn't long enough.
*) Tested definitions for more file compression programs, if possible.
Note: I've defined all the compressors that I can locate. If you have
other compressors, please contact me so that we may discuss how I may
obtain copies of them from you. Thank you!
*) Bug fixes, if any are discovered and reported.
*) Your suggestions! (email me at: dda@panasia.com)
////////////////////
| REVISION HISTORY |
\\\\\\\\\\\\\\\\\\\\
1.00, 28-Mar-1996 First public release.
1.01, 28-Mar-1996 Fixed problem with deleting files that were
specified, but *not* recompressed. Stupid!
Fixed problem with date/ time stamping archives.
Revised an error message or two.
1.10, 28-Mar-1996 Implemented a makeshift solution for the problem of
overwriting duplicate-named nested archives.
Revised some informative messages.
Defined additional compressors (in FULL.INI).
1.20, 2-Apr-1996 Fixed problem where original archive was sometimes
being deleted prematurely.
Defined additional compressors (in FULL.INI).
Revised parameters for many compressor definitions.
Added kludges to make some new compressors work.
Revised some additional informative messages.
Added option to only convert primary archives (-1).
Added external program to save the smallest archive
(see SMALLEST.DOC/ .EXE), and removed SMALLEST.BTM.
Added simple batch file to automate processing (read
"MAKETINY.BAT" for details).
1.25, 10-Apr-1996 Increased flexibility by allowing the user to define
where on the command line the archive name will be
inserted (put "%a" on the "RE=" and "DE=" lines).
Removed most of the compressor-specific kludges.
FACT is now smaller, and a little more efficient.
Revised parameters for some compressor definitions.
FACT package includes a 4DOS batch file to read files
within archives (see 4AR.BTM).
FACT now accepts single character switches.
FACT now clears the screen before each primary archive
conversion.
FACT now informs the user which new extension is going
to be used next.
1.27, 23-May-1996 Added a 4DOS batch file which will list the contents
of archives (see ARL.BTM).
Revised 4AR.BTM to improve operation.
Revised FULL.INI to improve operation.
Revised switch detection to prevent accidental archive
deletion when converting files named xxx-dyyy.ext.
Removed kludge for PUT (I found the "QUIET" option).
Added my "Archive Feature Comparison Chart" (AFCC.TXT).
[end]