💾 Archived View for gemini.spam.works › mirrors › textfiles › magazines › MISC › skipmisc.028 captured on 2022-06-12 at 13:24:32.

View Raw

More Information

-=-=-=-=-=-=-


                          SKIP'S COMPUTER MISCELLANEA
    
                                      #28

                             (C) Copyright 1989 by
                           C. F. "Skip" Mowery, Jr.
                             Colonel, USAF (Ret.)
                           406 Van Reed Manor Drive
                               Brandon FL 33511
                                 813-689-4212
    
    "Skip's Computer Miscellanea" is copyrighted material and  remains  the
    property  of  the  author,  who reserves all rights to its publication,
    reproduction and distribution, with the following single exception:  it
    may  be  freely  copied and distributed electronically via computer for
    personal non-commercial use, provided that the content is not modified,
    that  it is not copied to or distributed on any form of print media and
    that it is not copied or distributed by or for  any  type  of  business
    endeavor without the prior written permission of the author.

                                  **********

    Your comments about this material, suggestions, and questions about any
    aspect  of computing are always welcome.  Write to the address above or
    leave a message for Charles Mowery on either of  the  boards  mentioned
    below.

    "Skip's Computer  Miscellanea"  now  orignates  simultaneously  on  the
    Computer Archives BBS (813-968-6220) and the Professional Data Exchange
    BBS (813-920-0647), both in the Tampa Bay area in Florida.  Some of the
    content  may  have  originally  appeared  in different form on those or
    other boards.

                                  **********
    
    
                              4DOS, Version 2.2a
    
       One of the Finest, Most Useful Pieces of Shareware Ever Released

    
    You absolutely, positively MUST try 4DOS.  If you've put off trying  it
    because it's a little complicated to get set up, this article will show
    you exactly what to do -- so, no more excuses:  try it!

    4DOS is a replacement for Command.Com and much more.  It  has  all  the
    normal  DOS commands, many of which are enhanced, plus it adds many new
    internal commands and gives you a flexibility that  you  won't  believe
    until you try it.  And it works on 8088 and 80286 systems equally well.

    The bottom line of 4DOS is that you can do more with  less:    it  will
    save  both memory and disk space, while giving you more computing power
    than you've ever had.  Used properly, 4DOS will allow you to get rid of
    a bunch of batch files and utility programs, thereby saving disk space.
    You can also eliminate some of your memory-resident programs  and  save
    both  disk  space  and  memory.  And further memory savings are accomp-
    lished by the disk-swapping procedures in 4DOS, and the fact that  4DOS
    actually occupies less memory than IBM/MS-DOS.

    Here are just some of the files that you will no  longer  need  because
    4DOS  has  internal commands to replace them (or you can use Aliases to
    replace them) -- and, in most cases, 4DOS will give you more flexibili-
    ty:

         Move utilities (e.g. Move.Com)
         Command line editing and recall utilities (e.g. CED)
         Utilities that fake keystrokes to programs (e.g. Key-Fake)
         Global command utilities (e.g. Sweep)
         Utilities that perform actions with exceptions (e.g. Delbut)
         Directory utilities (e.g. SDIR, CDIR)
         Utilities to change directories and drives (e.g. CDD)
         Environment expanders and editors
         File management utilities (e.g. Xtree clones)
         Utilities that save and restore current directory (e.g. Pushdir
              and Popdir)
         Batch file enhancers and most regular batch files
         List programs
         Timing programs
         Utilities that add and read file descriptions
         Utilities for condensing several commands into one
         Utilities that combine several batch files into one.

    And the beauty of it all is that, since all the commands are  internal,
    everything runs much faster -- commands are executed immediately.
    
    The documentation is excellent and it's easy  to  find  things  in  it.
    Even  though  complete  on-screen  help  is available via the F1 key, I
    recommend that you print out the documentation and keep it handy, since
    you will be referring to it until you get used to the system.  (This is
    one of the few programs I've used for which the  printed  documentation
    continues to be useful over a long period.)

    4DOS is a little complicated to get set up (which is the primary reason
    that I printed out the documentation) -- so, rather than try to explain
    it all (and in effect reproduce the documentation), I'm going  to  show
    you  exactly how to get set up.  Since I have an 8088 system and a hard
    disk and don't have EMS memory, my comments, of course, will  emphasize
    that  type  of system, but the setup is basically the same for an 80286
    system.  If you have EMS memory, I suggest that you use my setup to try
    4DOS  and  then  go  back and read the 4DOS documentation for using EMS
    memory.  The only real difference is that, with my system,  4DOS  swaps
    itself on and off of the hard disk instead of in and out of EMS memory.
    (By the way, the disk swapping is not noticeable.)  4DOS  can  also  be
    set up to be memory-resident for use with a floppy-based system.

    Before attempting to load and use 4DOS, do a complete  backup  of  your
    hard disk and have a system disk handy, just in case 4DOS doesn't  work
    as  well  on your system as it does on mine.  This is especially impor-
    tant if you decide to try to set up 4DOS on your own, without following
    what I did.  It took me quite a bit of experimenting (and a call to the
    authors)  before  I  finally got the system running properly and set up
    the way I wanted it.

    Installing 4DOS:
    
    4DOS can be set up to be memory-resident (for floppy-based systems), or
    it  can  be called as a transient (I can't imagine why you'd want to do
    so), or it can use disk-swapping to/from EMS memory or a hard disk.

    There are 4 basic steps to the setup:
    
         1.  Placement of 4DOS files.

         2.  Modification of the Config.Sys file.
    
         3.  Modification of the Autoexec.Bat file.
    
         4.  Creation of Aliases.

    Step 1:

    First, of course, you should create a directory named 4DOS and copy all
    the 4DOS files into it, with these exceptions:  the files KEYSTACK.SYS,
    4DOS.COM and 4DOS88.EXE should be copied to the root directory of  your
    hard disk.  (See "Alternatives" below.)  If you have a 286 system,  put
    4DOS286.EXE in the root directory instead of 4DOS88.EXE.

    Step 2:

    The second step is to add 2 lines to your CONFIG.SYS file.    Here  are
    the lines to add:

         device=keystack.sys
         shell=c:\4dos.com /s:dc:\4dos /m:2500 /p

    These lines assume that your hard disk is C:  and that KEYSTACK.SYS and
    4DOS.COM are in the root directory.  You can refer to the 4DOS documen-
    tation for details about  all  the  possible  parameters  that  can  be
    included  in  the  second  line.    All  I'm going to mention are three
    points.  First, the "/s:dc:\4dos" part is what sets  up  disk  swapping
    and  tells  the system to put the disk-swapping file (a hidden file) in
    the 4DOS directory.  If you have EMS memory, you  can  use  "/s:e"  (in
    place of "/s:dc:\4dos") and disk swapping will be to/from EMS memory.

    Second, the "/m:2500" part tells the system to set up a Master Environ-
    ment  with  space  for  2500 characters.  You can use /e instead of /m,
    which saves a little memory space, but the documentation indicates that
    there  are  a  few applications that will look for a Master Environment
    and lock up if one is not found.  To avoid that potential  problem  and
    not  have  to remember it later, I used /m and suggest that you do also
    (see the explanation in the 4DOS documentation).

    The 2500 can be any number, as long as it's large enough to include all
    of  your  normal  environment  items as well as all of your Aliases.  I
    suggest 2000 to 3000 so that you can add Aliases later  without  having
    to  modify  this line in the Config.Sys file.  Once 4DOS is set up with
    the Aliases that you want, you can use the  4DOS  "MEMORY"  command  to
    find out how much free environment space you have and then change  that
    line  in  the  Config.Sys file to use a smaller or larger number if you
    want to.

    Third, the "/p" part is required if  you  want  4DOS  to  execute  your
    AUTOEXEC.BAT file on boot-up.

    Alternatives:

    Let me digress here briefly to mention some  alternative  setups.    It
    would  be  possible,  of  course, to copy all of the 4DOS files to your
    root directory, but that's inefficient hard disk organization.

    Another alternative is  to  put  KEYSTACK.SYS  in  the  4DOS  directory
    instead  of  in the root directory.  If you choose to do so, change the
    Config.Sys line "device=keystack.sys" to "device=c:\4dos\keystack.sys".

    A third alternative is to set up 4DOS with all of the 4DOS files in the
    4DOS  directory.    That is explained in the documentation, but I don't
    recommend it.  If you do it that way, depending on  how  you  configure
    4DOS, you will probably encounter what the 4DOS documentation says is a
    bug in MS-DOS that will cause problems because of a limit on the length
    of the line in your CONFIG.SYS file (the 2nd line shown above).  That's
    all I'm going to say about that, except to note that there should be no
    reason why you can't put 4DOS.COM and 4DOS88.EXE in your root directory
    (just as you would with Command.Com) and thereby  avoid  the  potential
    problem.  (I lied:  I'm going to say one more thing.  The documentation
    says the line limit for the line I'm  referring  to  is  34  characters
    "following  the  name  of the shell program", but I had problems when I
    had exactly 34 characters after the program name, including  the  space
    after  the  program  name,  which  is  why  I chose to put 4DOS.COM and
    4DOS88.EXE in my root directory and avoid the problem.)

    Step 3:

    The third step is to  modify  your  AUTOEXEC.BAT  file  by  adding  the
    following lines.

         ALIAS /R C:\4DOS\ALIASES.LST
         SET 4DSHELL=/S:DC:\4dos /M:2500
         SETDOS /H4 /V0

    The first line tells the system to set up the  Aliases  that  you  have
    included  in  the  file ALIASES.LST in the 4DOS directory.  (See step 4
    below.)  This is the fast, easy alternative to having each of the Alias
    definitions listed separately in the AUTOEXEC.BAT file.

    The second line configures 4DOS as the secondary command processor (the
    one that's called when you "shell to DOS" from some programs), and sets
    it up to be the same as 4DOS when it's the primary  command  processor.
    If  you want to use COMMAND.COM as the secondary command processor, you
    should not use the second  line  above  but  rather  include  the  line
    "COMSPEC=C:\COMMAND.COM".  This was a preferred procedure in an earlier
    version of 4DOS because, if 4DOS were used  as  the  secondary  command
    processor,  the  entire  4DOS system would be loaded when the secondary
    command processor was called and, hence, wasted memory.  But, since the
    latest version has 4DOS use disk-swapping even when it's the  secondary
    command  processor,  I  see no point in using COMMAND.COM.  If you want
    4DOS to be both the primary and secondary command processor, it is  NOT
    necessary to include a "COMSPEC=..." line, since 4DOS sets itself up as
    the secondary command processor automatically.  (You can  confirm  this
    after booting with 4DOS by entering the SET command with no parameter.)

    The third line is optional but recommended.  There are several optional
    parameters that can be used with the SETDOS command (see the documenta-
    tion).  In this case, I have used  the  one  that  limits  the  command
    history  table  to commands of 4 or more characters only, and that sets
    ECHO OFF as the default for all batch files.  In other  words,  if  you
    use "SETDOS /V0", you can eliminate the ECHO OFF line from all of  your
    batch  files  and  from  your  Aliases.  (In fact, by using appropriate
    Aliases, you can eliminate a lot of the batch files themselves  --  see
    below).

    4DOS has another feature that you might want to take advantage of via a
    line in your AUTOEXEC.BAT file.  Here's the line that I use:

         SET .BAS=C:\BIN\B.EXE
    
    That line tells 4DOS that, whenever I enter a file name, if there is  a
    file  available  with  the .BAS extension, 4DOS should load Basic first
    and pass the file name to it.  (I have renamed Basic  to  simply  B.EXE
    and have placed it in my \BIN directory.) You can do the same thing for
    any combination of file extensions and applications (e.g. .TXT and your
    text editor) -- see the 4DOS documentation.

    Important Notes for Saving Memory:

    Add the above lines to the Autoexec.Bat file AFTER any lines that  load
    memory-resident  programs.  Also, if you use the PROMPT or SET commands
    in any lines in your Autoexec.Bat file, place them AFTER any lines that
    load memory-resident programs.

    If you follow those 2 suggestions,  you  will  save  a  lot  of  wasted
    memory.    If  you  have any doubts about that (or any of these sugges-
    tions), try it both ways and you'll see the difference  (use  the  4DOS
    "MEMORY" command for this purpose).

    Another way to save some memory under any type of DOS  is  to  put  all
    your  memory-resident programs in the root directory.  Even more memory
    can be saved if you shorten the names of memory-resident programs to be
    4 or less characters (not including the period and extension).

    Finally, you can save additional memory by  removing  the  COMSPEC  and
    PATH  entries in your environment by including at the beginning of your
    Autoexec.Bat file the lines "COMSPEC=" and "PATH=" with no  parameters,
    and  then  entering  the proper COMSPEC and PATH settings at the end of
    the Autoexec.Bat file.

    The point here is that, according  to  what  I've  read,  each  memory-
    resident  program is loaded into memory together with its path specifi-
    cation and a copy of the environment -- and the environment, especially
    under  4DOS,  can  be  very  lengthy.   At one point when I was testing
    various formats for my Autoexec.Bat file, I managed to save about 9K of
    memory  just  by rearranging the order of the lines so that the memory-
    resident programs were called first.

    As for the length of the memory-resident file names, I don't completely
    understand this (any more than I understand the other hints -- but they
    work), but apparently the file names are saved  in  16-byte  increments
    and,  if the name is 5 bytes long, it uses 16 bytes more memory than it
    would if the name were 4 bytes long.

    For more information about these memory-saving tips, see the August '89
    issue  of  "REMark"  magazine, the official Zenith/Heath computer users
    magazine.

    (I should have put these tips into a separate article, right?)

    Step 4:

    The fourth and final step is a  continuing  one:    create  a  list  of
    Aliases in a single ASCII file.  As you use the system, you'll discover
    many  opportunities  to  make your life easier by adding new Aliases to
    the file.  As mentioned in the documentation,  you  could  include  all
    your  Alias  definitions  in  your Autoexec.Bat file, but that makes it
    more difficult to add and test new Aliases (you'd have to reboot  every
    time you wanted to test a new Alias) and it takes longer to  load  them
    that way.

    Aliases give you tremendous flexibility and save  a  lot  of  disk  and
    memory  space.    You can think of them as in-memory batch files -- and
    that's why you can eliminate most batch files under 4DOS.

    You create Aliases the same way and  for  the  same  reasons  that  you
    create a batch file, except that all of them can be placed in one file,
    one Alias per line.  Use a text editor and be sure to save the file  in
    ASCII format, with no formatting codes.

    The file name for your Aliases can be any name you choose and it can be
    in any directory, as long as you include the full file specification in
    the "ALIAS /R ..." line in your Autoexec.Bat file (see Step 3 above).

    NOTE:  If you've already read the 4DOS  documentation's  discussion  on
    creating  Aliases, you'll recall some discussion about using the single
    quote mark (`) to begin and end a  list  of  multiple  commands  in  an
    Alias.   Forget everything you read about that.  What the documentation
    doesn't mention is that, if you put your Aliases in a file and have the
    system read that file, as described above, you  don't  need  the  quote
    marks.  (Whew!  One less thing to remember -- unless,  of  course,  you
    have  to  remember not to remember the business about the quote marks.)
    There is one exception, which is described below ("Temporary Aliases").

    If you know how to create a batch file, you know how to create  a  file
    of  Aliases.   However, you should review the 4DOS documentation to see
    all of the new and different batch commands that you can use in Aliases
    (or in batch files).  For now, I'm just going to mention four points:

         1.  Each Alias must be on a separate line in the  file,  the  line
             must be limited to 255 characters in length, and the line must
             begin with the name of the Alias and an equals sign  (=)  with
             no intervening space, i.e. Alias=definition.

         2.  If the Alias definition includes a word  (file  name,  program
             name,  etc.) which  is  the  same  as the Alias name, the word
             should be preceded by an asterisk (*).
             
         3.  You can put multiple commands in the Alias definition but you
             must separate each one with the caret symbol  (^).    You  can
             also  use  multiple  commands  in  the  same way from the 4DOS
             command line, not just in Aliases, with the same 255-character
             limit.  The ability to use multiple commands at the DOS level,
             combined  with  the  History  feature  (see  below)   provides
             tremendous flexibility and ease of use.

         4.  Aliases can't have conditional (IF) commands.  Use  a  regular
             batch file if you need to use conditional commands.

    Below are some of the Aliases that I have in my ALIASES.LST file.  Note
    that  they are in alphabetical order.  That makes it easier to edit the
    file and also makes finding an Alias definition easier.
    
    Once installed, you don't have to remember all  of  your  Alias  names.
    You  can  see a list of the Aliases by entering the word "ALIAS" (which
    makes sense, right?), and all established Aliases will  be  listed  on-
    screen in the same order in which they were entered (the order in which
    they appear in the file).

    In some of the Aliases listed below, I've had to break the line so that
    you  can  read  it,  and I've indented the broken part so you know that
    it's a part of the prior line.  All Aliases should occupy only a single
    line  in  your Aliases file.  Also, I've inserted spaces on either side
    of the ^ symbol to help you differentiate  between  multiple  commands.
    It is not necessary to include those spaces in the Alias definition.

    Sample Aliases:

    ALIAS=CLS ^ *ALIAS /P

    The normal command "ALIAS" will list on-screen all established Aliases,
    and  the  /P  switch tells the system to pause when the screen is full.
    So, what I did here was redefine the term "Alias" so that  it  includes
    the  /P  switch.    Note  the  use of the asterisk (*).  That tells the
    system in this case to treat the command "Alias" in  its  normal  form,
    rather  than  as  an  Alias.   This is necessary whenever a term in the
    Alias definition is the same as the name of the Alias.  Confused?   Try
    it.

    ARC=CLS ^ UNALIAS * ^ *ARC %& ^ *ALIAS /R C:\4DOS\ALIASES.LST
    
    In this case, I've redefined the command "Arc".  (My copy of PKPAK  has
    been renamed to be ARC.)  The  Alias  first  clears  the  screen,  then
    deletes  all  Aliases  from  the system, then calls the ARChive program
    (using the * to tell the system to treat the name as a program name and
    not as the Alias of the same name) and adds  the  file  spec  that  was
    typed  after  the  Alias, and finally, after the archiving is complete,
    reestablishes the Aliases from the ALIASES.LST file.  Note the  use  of
    the "%&" symbols, which tell 4DOS  to  include  the  remainder  of  the
    command that was typed.  For example, if I enter

         ARC -a TEST TEST.EXE
    
    the "%&" symbol would pick up "-a TEST TEST.EXE" as part of  the  whole
    command.

    This Alias highlights one of the very few problems with 4DOS -- or with
    some of the applications that 4DOS has to deal with -- and the solution
    to the problem.  If, when trying to use any application under 4DOS, you
    get  an  error  that says, in effect, that there is insufficient memory
    for the environment, or if the system locks up for no apparent  reason,
    you  have encountered the problem I'm referring to.  This error (or the
    lockup) occurs when using PKPAK, PKUNPAK, WHIZ, ZMODEM, and some  other
    programs  under 4DOS.  The solution is simple:  call the program via an
    Alias that first deletes the Aliases, then calls the program, and  then
    reestablishes  the  Aliases.  As you can see from my example above, the
    Aliases are deleted via the command "UNALIAS *" and  are  reestablished
    via  the command "ALIAS /R" plus the drive, path and file name for your
    Aliases file, which  in  this  case  is  "C:\4DOS\ALIASES.LST".    (The
    problem occurs because the Aliases occupy so much environment space and
    the solution clears that space.) If you encounter the problem with some
    application and don't want to take the time to create an Alias to avoid
    it, just enter "UNALIAS *" and press Return, and then enter the name of
    the  application  as  you  would normally to run it.  After exiting the
    application, enter "ALIAS /R ...", where ... is the path  and  name  of
    your Aliases file.

    BACKALL=ECHO Full Backup:  Insert disks in drives A and B and ^ PAUSE
         ^ CLS ^ MB /GO @C:\MACE\BACKFULL ^ M

    BACKDAY=ECHO Daily Backup:  Insert disks in drives A and B and ^PAUSE
         ^ CLS ^ MB /GO @C:\MACE\BACKPART ^ M

    Those two Aliases exemplify how an Alias can be used as  a  replacement
    for  a  batch  file,  as  well  as the use of multiple commands in long
    command lines.  Each Alias used to be a separate batch file  (used  for
    backing up files with MACE) with 5 separate lines in each  batch  file.
    In  fact,  each  batch  file used to be 6 lines long because each began
    with the line "ECHO OFF".   Thanks  to  the  "SETDOS ..."  line  in  my
    Autoexec.Bat file, as explained above, I no longer have  to  bother  to
    include that line in either batch files or Aliases.

    As you may know, each short batch file (or any short file) will  occupy
    at  least  2048  bytes  of disk space, even if the file is smaller than
    that.  By converting from batch files to Aliases, I save a lot of  disk
    space  and  the  commands execute instantaneously (instead of incurring
    the delay required while the system finds and reads the batch file).

    CW3=CD \WORKING\WORK3 ^ DIR

    C=CD \

    These Aliases allow me change to one of my working  directories  or  to
    the  root  directory  with  a minimum of typing.  I use several similar
    Aliases for moving between the directories that I use most often.  Note
    that,  in  the  first  example,  I  included  the DIR command, which is
    executed after the change to the new directory.

    COMPILE=*COMPILE %1 /O; ^ LINK %1 \COMPILER\SMALLERR /E;

    This is an example of both time and typing savings via the  use  of  an
    Alias.  Note that the "%1" symbol has the same significance in an Alias
    that it would in a batch file.  Without this Alias and under normal MS-
    DOS  procedures, if I wanted to compile the file TEST.BAS, I would have
    to first type "COMPILE TEST /O;" and wait for  the  compilation  to  be
    completed.    Then  I  would have to type "LINK TEST \COMPILER\SMALLERR
    /E;" for the linking step.  But, with the Alias, all I have to enter is
    "COMPILE TEST" and 4DOS does the rest.   When  I'm  working  on  a  new
    program,  and compiling and re-compiling the program under development,
    this Alias saves a lot of time and re-typing of the same commands.

    CUTBAK=PUSHD ^ CLS ^ CD C:\ ^ GLOBAL DEL *.BAK *.CUT ^ POPD ^ M

    This is the Alias I use to delete all  files  with  the  .BAK  or  .CUT
    extension  anywhere  on the hard disk.  The 4DOS GLOBAL command applies
    the command that follows it to every directory and subdirectory on  the
    disk.    (The  .CUT refers to files created by SNIPPER, which are named
    SCREEN.CUT.)  Note that 4DOS permits the use  of  multiple  file  names
    after  commands  such as DEL and COPY, a feature unavailable in MS-DOS.
    Note also the use of PUSHD and POPD which are explained below.

    LIST=C:\BIN\LIST.COM

    4DOS has its own internal List command.  This Alias redefines  List  so
    that  it  refers  to  the program List.Com.  (I haven't figured out why
    this works, but it does.)

    SCOPY=SELECT /Oe COPY (*.*)

    SMOVE=SELECT /Oe MOVE [*.*]

    These are the Aliases I use when I want to copy or move  some  but  not
    all  of  the files in the current directory.  They make use of the 4DOS
    "SELECT" command, which shows you a list of the files  in  the  current
    directory  and  lets  you tag the ones to which the action command will
    apply.  The "/Oe" parameter tells the system to sort the files in Order
    by  Extension.    The  files to be listed are identified in parentheses
    (*.* includes all files in this case) for all commands except the  Move
    command  which,  for  reasons  that are explained in the documentation,
    requires the use of brackets instead  of  parentheses.    (One  of  the
    reasons  that  I  set  these  up as Aliases, instead of just typing the
    SELECT command when I needed  it,  was  so  that  I  wouldn't  have  to
    remember things like the sort parameter and the use of brackets.) There
    are several other options available with the  SELECT  command  and,  of
    course, it can be followed by any action command that can be applied to
    file names.  I use a similar Alias for archiving a selection  of  files
    in a directory.

    WHEREIS=UNALIAS * ^ CLS ^ ECHO  Searching for %1 ^ WHIZ C:%1
         ^ *ALIAS /R C:\4DOS\ALIASES.LST

    WHEREBAK=UNALIAS * ^ CLS ^ ECHO  Checking for all files on drive C
         requiring backup (Archive bit ON) ^ SCREEN 3 1 ^ WHIZ C:*.* /ON
         ^ *ALIAS /R C:\4DOS\ALIASES.LST

    WHEREHID=CLS ^ ECHO Searching for all Hidden files ... ^ HUNTATTR /H
    
    WHEREARC=CLS ^ ECHO Searching for %1 in ARChives ^ PKFIND %1 /a

    These 4 Aliases used to be 4 separate batch files, each occupying  2048
    bytes  of disk space.  (I later combined them into one batch file.  See
    the "WHERE.BAT" article below.)  Note the use of "UNALIAS *" and "ALIAS
    /R  ..."  at  the  beginning  and end of the definitions of the first 2
    Aliases.  As explained above, that procedure is required  because  WHIZ
    locks up the system if Aliases are in the environment.  Note also that,
    in the first and fourth Aliases, the %1 picks up the file spec from the
    command  line.    (And  the eagle-eyed readers among you will note also
    that I listed these Aliases out of alphabetical order here -- they  are
    in order in the Aliases file.)

    Temporary Aliases:
    
    If you want to establish an Alias  just  for  use  during  the  current
    computing  session, just enter an Alias name and definition in the same
    way that you would if you were entering it as a  line  in  the  Aliases
    file,  with  one  exception:    in this case, if you are using multiple
    commands, you must enclose the definition in single quote marks (`).

    To fully understand how much power and flexibility you  are  given  via
    the  use of Aliases, you should read the 4DOS documentation and see the
    variety of commands available to you.

    ESET, Command Line Editing, HISTORY and PUSHD/POPD:

    Before closing, let me just mention four other features.   The  command
    ESET  allows you to edit any item in the environment or any Alias.  You
    just enter ESET followed by the name of the Alias or environment  item.
    The system will then show you the current setting for that item and you
    can use normal command-line editing techniques to  edit  it.    To  see
    the items in the environment, enter the SET command by itself.

    Command-line editing, under ESET or for any  normal  command  line,  is
    really easy with 4DOS.  You can use the left and right  arrow  keys  to
    move  the  cursor over the command line without erasing any characters,
    and you can use the insert or overstrike  mode  (by  pressing  the  Ins
    key), as well as the Back Space and Del keys and a lot  more,  just  as
    you would with a normal text editor.  Try it -- it's terrific.

    4DOS automatically retains in memory a list of the commands that you've
    used,  and  you can use the up and down arrow keys to see each of them.
    When the one you want to use is on the screen,  just  press  Return  to
    execute  it.   The HISTORY command will show you a complete list of the
    commands currently being retained, and HISTORY /F will erase  the  list
    from memory.

    Here's a trick I learned for using HISTORY.  If you have a  complicated
    command  that  you will be using regularly, first enter HISTORY /F, and
    then enter the complicated command once.  From then  on,  whenever  you
    want  to use that command again, just press the down arrow key once and
    that first command will appear (because it's at the top of the list and
    you are currently at the bottom of the list).  Simple, huh?
    
    4DOS also can remember which directories you've been in and return  you
    to one of them.  For example, if you are in the root directory, want to
    move temporarily to several other directories and then  return  to  the
    root  directory,  here's  how  it  works.   From the root directory (or
    whichever directory you want to return to later), enter  PUSHD.    That
    puts the current directory name into a buffer in memory.  Then move  to
    wherever you want.  When you want to return  to  that  saved  directory
    name,  just  enter  POPD  and -- poof!  -- you're there.  See the Alias
    CUTBAK above for an example of the use of these commands in an Alias.

    4DOS is everything that MS-DOS should have been.   Ok,  it  doesn't  do
    everything.    It doesn't make coffee, but try it anyway.  See also the
    discussion of UZK in the next article.

                                  **********


                                    UZK.ZIP


    This program allows you to zip a program (and its related  files)  that
    you  don't  use  a lot, in order to save disk space, and then, via 4DOS
    features, unzip and run it by just entering the program name. 
    
    The author had a good idea but apparently didn't fully  understand  the
    flexibility  of  4DOS,  since  UZK  is a lot more complicated than just
    using an Alias for this purpose.  Here's an example of how I do it with
    an Alias and, hence, don't need UZK:

         STORM=PUSHD ^ CLS ^ CD \MISC\GRAPHICS\STORM ^ UNZIP STORM ^ CLS
              ^ DEL STORM.ZIP ^ CLS ^ *STORM ^ CLS ^ ZIP -ex -M STORM 
              ^ CLS ^ POPD ^ M

    Storm is a program for tracking hurricanes and uses several data files.
    As  you  might  imagine,  I  seldom  use it.  So, I keep it ZIPped in a
    subdirectory by itself.  When I want to use it, I  just  enter  "Storm"
    and  the Alias above takes care of the rest -- including re-ZIPping the
    files after I exit the program.  (I have renamed PKZIP to  be  ZIP  and
    PKUNZIP to be UNZIP.)  Note the use of the asterisk  (*)  to  tell  the
    system to run the Storm program rather than the Alias by the same name,
    and note that the asterisk isn't needed when  "Storm"  is  used  as  an
    archive  name as part of the UNZIP and ZIP commands.  Finally, note the
    use of PUSHD and POPD to return to the directory from which  Storm  was
    first called.

    Even if the ZIP file were in a directory with other  files,  you  could
    still  do the same thing by including in the Alias definition a command
    to MOVE the file to an empty directory before unzipping it  (I  have  a
    directory, \ZDIR, that's always empty just  for  that  purpose)  and  a
    later  command  to MOVE it back to its original directory after zipping
    it again.  Here's how that would look:

        STORM=PUSHD ^ CLS ^ CD \MISC\GRAPHICS\STORM ^ MOVE STORM.ZIP \ZDIR
             ^ CD \ZDIR ^ UNZIP STORM ^ CLS ^ DEL STORM.ZIP ^ CLS ^ *STORM
             ^ CLS ^ ZIP -ex -M STORM ^ MOVE STORM.ZIP \MISC\GRAPHICS\STORM
             ^ CLS ^ POPD ^ M

    As complicated as that Alias is, it  could  be  longer  and  still  fit
    within the 255-character limit for an Alias, and it could be shorter by
    removing the spaces before and after each ^ symbol and/or removing some
    of the CLS commands.

                                  **********


                     MURF:  A THOUGHT-FOR-THE-DAY PROGRAM

    
    MURF is a program in a file called MURF.ZIP and is the  best  "thought-
    for-the-day"  program  I've seen.  I've been using it for some time now
    and, while some of them are repeated, I continue to see new ones  every
    once  in  a  while.   They are take-offs on "Murphy's Laws" and include
    such gems as "All things being equal, you lose."

    The idea is to call it from your Autoexec.Bat file so that  you  see  a
    new saying each time you boot.

    Even my wife likes them, and she's a tough person to please.
    
                                  **********


                                SKIPPER'S LAWS
    

    My laws are not as succinct as those in MURF or in "Murphy's Laws", but
    succinctness  is  not  one of my strong points, as regular readers will
    have noted.  Here are some of them:

         The amount of line noise is directly proportional to the size
         of the file being transferred.

         The only time you should delete a file or throw away  a  note
         is  just  before  it  will  be needed.  Conversely, files and
         notes that are kept, only because they might be  needed  some
         day, never are.

         "Creativity" in programming refers to the fact that,  when  a
         bug is fixed, at least two more are spontaneously generated.

         The best way to find a bug is to upload the program to a  BBS
         as  "the  final  version."  Then,  the first time you use the
         program after uploading it, the bug will  appear.    Unfortu-
         nately,  this  procedure  only  works  for one bug at a time.
         There is no known way to find all the bugs in  a  program  at
         one time.

         The only time you really need to remember a person's name  is
         when  you are absolutely, positively sure you will never have
         contact with that person again.

         All phone calls must be made twice.  The second  call  is  to
         convey the information or ask the question that occurs to you
         immediately after you hang up after the first call.  In fact,
         that  information  or that question is usually the reason you
         called in the first place.

         Never try to do anything constructive  on  a  computer  after
         having had one alcoholic beverage.

         Most brilliant ideas are  conceived  moments  before  falling
         asleep.    Corollary:  Most brilliant ideas aren't, and those
         that are will not be remembered after waking up.

         Formula for scheduling when to leave for a meeting:  From the
         time  of  the  meeting, subtract the time necessary to get to
         the location, subtract an additional 15 minutes  for  contin-
         gencies  on the way, subtract the time necessary to get ready
         to leave, subtract another 15 minutes  for  contingencies  in
         getting  ready,  subtract  an additional 15 minutes times the
         number of people who are going with you (if they are at  your
         location;  otherwise,  subtract  additional  travel  time for
         picking up each person), and ADD 15 minutes for  each  person
         who will attend the meeting in addition to yourself and those
         going with you.    Even  if  the  addition  results  in  your
         arriving after the scheduled beginning of  the  meeting,  you
         will  still  be  there before anyone else.  The short form is
         this:  if you plan carefully to arrive at a meeting on  time,
         no  one else will (plan or arrive on time).  The corollary is
         this:  if you arrive on time,  the  meeting  will  have  been
         cancelled  or  rescheduled;  but if you arrive late, everyone
         else will have arrived early.

         If not watched carefully, printer paper and copier paper will
         disappear.    No one takes it and you don't use it -- it just
         disappears.

         The chances of any given call being  a  wrong  number  or  an
         anonymous  hang-up  or  a  telephone  solicitation  for  free
         cemetary plots are directly  proportional  to  your  distance
         from  the  phone when it rings and are multiplied by a factor
         of 10 if you are doing something difficult to interrupt.

         If you have only one phone line, it will always be  available
         when  you  don't need it and not when you do.  The trick here
         is to tell everyone else in the vicinity that  they  can  use
         the phone because you don't need it -- then you can use it.

         Things that are "so easy  that  a  child  could  do  it"  are
         usually  too  difficult  for  the  average adult.  Similarly,
         things  that  are  "child-proof"  usually  aren't,  but  they
         are always adult-proof.

                                  **********


                                WHERE.BAT FILE
    

    Before I started using the Aliases available in 4DOS, I  used  a  batch
    file  named WHERE to do my searching for files.  By using the shareware
    programs WHIZ, PKFIND and HUNTATTR, I  could  use  the  batch  file  to
    search for either:

         -- any type of file by name, with or without wildcards,
         -- any file in an ARChive,
         -- any files requiring backup, or
         -- any hidden files.
    
    (By the way, WHIZ is the fastest file-search program I've found.)
    
    Here's the batch file:

     CLS
     GOTO %1
     :IS
     ECHO  Searching for %2
     WHIZ C:%2
     GOTO END
     :ARC
     ECHO Searching for %2 in ARChives
     PKFIND %2 /a
     GOTO END
     :BAK
     ECHO  Checking for all files on drive C requiring backup (Archive bit ON)
     ECHO .
     WHIZ C:*.* /ON
     GOTO END
     :HID
     ECHO Searching for all Hidden files ...
     HUNTATTR /H
     :END
    
    To use it, you simply type "WHERE" and a space, followed by either  the
    filespec  you're searching for, the word "ARC" and a filespec, the word
    "BAK", or the word "HID".

    See the discussion on 4DOS above to see how to do  those  things  using
    4DOS Aliases.

                                  **********


                                  HELPME.ZIP


    HELPME.ZIP contains HELPME.COM which has a male voice asking  for  help
    because  he's trapped in the computer.  Cute, but it was programmed for
    a system running at 4.77 MHz and can't be understood at 8 MHz.

                                  **********


                 Using Communications Software Without a Modem
    

    Procomm Plus (and probably any other comm program that initializes  the
    modem when it begins) won't work on a Zenith SupersPort laptop unless a
    modem is connected to the system.

    You didn't seriously think that  I  had  found  a  way  to  communicate
    without a modem, did you?

                                  **********


                    HOW TO USE ZMODEM BATCH DOWNLOAD/UPLOAD
    

    "Batch" upload or download refers to the  ability  to  include  several
    file  names  in  one up/download command.  Until recently, I had always
    assumed that it was a complicated procedure  and  I  didn't  feel  like
    going to the trouble to learn it.

    I recently learned, almost by accident, how to do it and, while I don't
    know how it works on other boards, on the two boards I access  regular-
    ly,  it's  incredibly  simple and I only wish that I had known about it
    before.

    Try this:  once you're logged onto the board, enter "open  1"  (without
    the quotes, of course).  Then follow the prompts and enter the names of
    the  files  you  want  processed, all on the same line or one after the
    other (i.e. by pressing Return after you enter each file name).  Zmodem
    and  the  BBS  software  take care of the rest and you can sit back and
    watch.  Of course, you must have Zmodem on your end also.

    When you're finished, just enter "QUIT" to get back to  the  Main  Menu
    section  of  the  Board.    It's so easy that an adult can do it.  (See
    Skipper's Laws above.)

                                  **********
    
    
                                The Last Issue?
    
    
    I've been writing these issues for over a  year  now  and,  while  I've
    enjoyed producing them, I've become a little discouraged at the lack of
    comments, suggestions or questions from readers.  In  several  articles
    in  past  issues, I've posed questions to the readers, but the response
    was always nil.  I know there are a few of you out there that read each
    issue and a couple of you have mentioned that you enjoy them,  but  I'm
    finding  it  increasingly difficult to become enthusiastic about future
    issues without some additional expression of support from the readers.

    So, I'm going to leave it up to those of you who want to  see  more  of
    these  issues  to  let  me know.  I'm not looking for praise -- just an
    indication that you want me to continue writing.  In fact, I'd  welcome
    constructive criticism.  I try to cover a variety of topics in a manner
    that  will  be  of  interest  to novices as well as to more experienced
    users, and I try to inject a little humor now and then.  Am I  succeed-
    ing?    What  kind  of articles do you prefer?  Doesn't anyone have any
    questions about anything related to computing?  I'm not  an  expert  by
    any  means, but I'd sure enjoy the opportunity to help -- especially to
    help beginning computer users.

    Last week, I sold a copy of my lottery program to a  woman  who  didn't
    know  how to copy it from the floppy disk to her hard disk.  There must
    be others out there who need help with even  the  most  basic  computer
    operations.    If  you're  embarrassed  to admit your ignorance (that's
    ignorance, not stupidity -- although, given my experience with  my  own
    children,  I  might  even  be  able to help if you're stupid), send the
    question in a private message on the board, or send me a letter to  the
    address in the heading above.

    This may be the last issue.  If you don't want it to be, let me know by
    way of comments, suggestions or questions.  Thanks.

                                  **********