ArcLead - a general purpose archive front end utility

  Notice: if you want the short and sweet directions, at the bottom of
this document are examples that are pretty self explanatory.

                               Overview
----------------------------------------------------------------------

   ArcLead was, like many of my programs, born out of my want to be
lazy. I had to archive a whole series of disks for my BBS, all of
which contained seperate files that needed to be compiled into a bunch
of seperate archives. WARP doesn't do in such circumstances, and
neither does recursive archiving, because each file was intended to be
seperate from all the others.
   For instance, I needed to do a whole series of disks that contained
pictures: each disk would have several pictures, each with it's own
icon and possibly readme's, etc. What I needed, then, was a program
that did pattern matching based on filenames and created seperate
archives as its output. Thus, arclead was created.
   What ArcLead does, essentially, is parse a directory and attempt to
find "root" files, and then supply the archiver with the proper
instructions to assembly several archives based on the roots
discovered. Note that _any_ decent CLI level archiver will work,
because ArcLead simply copies the command you supply for the archiver
and then executes it with filenames ArcLead creates. Not only does this
spare you from typing twenty different command lines, but you can also,
if you wish, leave arcmaster to work while you go off and do something
else on the system, because after it starts on a disk it will work by
itself intil aborted or done. This makes lharc, for instance, a lot
easier to use, because it is slow and annoying to have to wait around
on (although it has better compression than PKZIP, so I use it
anyway). I've also tested ArcLead out with ARC, and it works fine. ZOO,
unlike the previoius version of ArcLead, now works fine. Possibly 
someday we will have a ZIP cli utility, in which case ArcLead will
be ready.
   Let's get down to the nitty gritty of how to use the program.
The format of the command line is thus:

ArcLead SRC: DST: EXT Arc-command line

   SRC: and DST: can be either logical or physical drives. SRC: can
have a pattern match (wildcards) after it, DST: can *NOT* (it wouldn't
make any sense anyway). DST: can have a pathway attached to it, though.
   EXT is simply the extension you want attached to the resultant
archives. You don't have to supply a ".", ArcLead will put it in for
you.
   Arc-command line is the name of the archive utility you will use
plus any parameters you would normally pass it (usually, this would be
something like ARC A or LHARC A). You can pass up to 27 parameters, and
they don't have to be delimited any special way - go ahead and type the
spaces exactly as you normally would.
   After you enter this command line, ArcLead will go to work. NOTE:
ArcLead reads the directory specified by SRC: and then RELEASES IT.
Don't mess with that directory if you want things to progress normally.
ArcLead won't crash, but you could delete files it wants to archive.

Here's some things to keep in mind:
   1) You must have the archive utility called by ArcLead in your path
somewhere (it does NOT have to be in the directory with ArcLead).
   2) You must have RUN (or equivalent) in your C: directory. AmigaDOS
Execute() uses RUN, and I favored it over Lattice's FORKV() because it
saved 3K of executable size (significant to floppy users).
   3) Ctrl-C will terminate ArcLead, but NOT NECESSARILY it's child
process. You might be sitting there watching the archiver going, and
hit Ctrl-C, and nothing happens. I can't help that; but as soon as
control returns to ArcLead it will terminate.
   4) ArcLead does special things when using either ARC or ZOO. For
ARC, it changes filenames (described below). For ZOO, it uses Unix
style wildcards. For either to work, the archive utility must be called
ARC or ZOO on the command line (case doesn't matter). It was the only
decent way to check.


                    What the heck happens with ARC?
---------------------------------------------------------------------

  If you (for some God awful reason) favor SEA's ARC utility over LHARC
or ZOO, you will notice that ArcLead does a lot more than just archive
the files together like it does for LHARC. Well, read on.
  The problem is that ARC was designed on brain dead machines with a
standard file name of 12 characters. Thus, ARC will accept no
filenames LONGER than 12 characters. On the other hand, the Amiga can
have filenames up to 32 characters. This was a dilemma for me: should I
keep the filenames that were legal and only do something with the
illegal ones, or what? Since ArcLead was meant to be unattended, I
couldn't ask the user. My solution was to take ALL the files that ARC
is archiving and rename them to a common root of "FOOB" with a number
afterwards. Then, ArcLead creates an executable script that will rename
the files BACK to what they are supposed to be when someone unArc's the
archive. Why did I do this? Well, I figured that if all the files were
incomprehensible (like FOOB) then everybody would have the sense to
REALLY execute the execute.me, instead of ignoring it.
  All of this is transparent to you, though. Don't worry about a thing,
just invoke ArcLead with ARC as the utility and don't worry about which
file names are long or not. If you are sympathetic to those WorkBench
only types out there, copy the supplied icon and one line script,
FOOB99 and FOOB99.info, to the SRC: directory for ArcLead. It will
include the icon and script in each resulting ARC file, and that will
enable end users to just double click to rename the files back. Nifty,
eh?
  Be aware that ArcLead does a lot of file work when using ARC as the
utility. I *STRONGLY* recommend that you make SRC: your RAM DISK,
otherwise all the renames and file creations will really bog you down,
especially on floppies! If you must use floppies, then for goodness
sake make sure you addbuffers to them, or whatever you use.

                               Examples
---------------------------------------------------------------------

Let's say you have a bunch of pictures on floppy df0: and want to use
LHARC to archive them, with the LZH files ending up in RAM:

1>ArcLead df0: ram: lzh lharc a

  This would archive all the pictures, with their icons, and any other
related files, into ram: as a bunch of seperate archives.

Or, you only want to grab the pictures that start with "Tib":

1>ArcLead df0:Tib#? ram: lzh lharc a

Or, you want to use ARC to grab the files in logical drive TEMP: and
archive them into a subdirectory of TEMP2:

1>ArcLead TEMP: TEMP2:archives arc ARC a

As a final example, watch how ArcLead archived itself. Here's a
directory of the files in my RAM: before I ran ArcLead:

     Clipboards (dir)
     Env (dir)
     T (dir)
  arclead                        arclead.c
  arclead.lnk                    arclead.o
  arclead.readme                 arclead.readme.info
  fred                           fred.c
  fred.lnk                       fred.o
  fred.readme                    fred.readme.info

And here's the command lind:

1> arclead ram: ram: lzh lharc a

Results were the following files:

arclead.lzh - contains arclead
                       arclead.c
                       arclead.lnk
                       arclead.o
                       arclead.readme
                       arclead.readme.info

fred.lzh    - contains fred
                       fred.c
                       fred.lnk
                       fred.o
                       fred.readme
                       fred.readme.info

  So there you have it. I know what some of you are saying: big deal, I
could have typed those two LHARC lines myself in no time. Yeah, but
suppose you had TWENTY sets of the above files? Thirty? Suppose you're
a BBS sysop and you want to do it disk by disk? There are plenty of
applications for ArcLead if you're properly lazy.

Here's where to reach me:

The Hallucination - Sysops Mike Malak and Richard Lawrence
Specializing in technical information, programming, and Amiga/ST
230 Megs (soon to grow), with thousands of files and several national
relay networks. Home of the Large Format HAM!

703-425-5824 3 lines / 24 hours. Give us a call.

You can try me on CI$: 71101,2272. I don't log on too often.