This is the first page of the INTRODUCTION for the FOUNDATION article.
DATE: December 13, 1985.

Press PgUp, Pgdn, Up and Down to look through it, and hit Escape when done.

1  PREREQUISITES.   

1.1  THE TONY DISK. 

    I have NO idea who you are, how you got your hands on this, and what
you think about all this, but I DO know that if all you have is a
printed bunch of paper with this article printed upon it, you're out of
luck.  You MUST have a diskette with the entire collection of files that
go with this article, or have access to one.  I'm going to call it the
Tony diskette.

    If you DON'T have access to that collection of files, you should
call up the CHICAGO Bulletin Board run by GENE PLANTZ with your modem
and communications software and become a paid-up member of the bulletin
board.  

    Here are the necessary parameters: 
 
                      PHONE NUMBER: (312) 885-9557 
                         BAUD RATE: 1200 
                            PARITY: NONE 
                            LENGTH: 8 
                         STOP BITS: 1

    If you would like to leave an electronic message for me, my ID
number is ID1018.

 Once you've done that, (S)can for my ID number, and you'll see a few 
other articles I've sent up to Gene recently. 

This one is called FNDATION.ARC.

    Download these files using whatever protocol is appropriate for your
software.  You should ALSO download the newest version of the ARChive
command.  I use ARC430.EXE, which is version 4.3.  The ARChive command
is GREAT!  I created and collected many little files.  These files
collectively take up a lot of space.  I ran the ARChive command, and
each file was crunched and squeezed and then added to one big file,
which has a name that ends with .ARC. If you also have a recent version
of the ARChive command, you can take that big file and have it extract
the files within it.

1.2  TEXT EDITOR. 
    This article has been created with Symphony, re-arranged with its
Text Outliner, occasionally improved with its Spelling Checker, made
ready for sending out into the world with EDIX 4.02, and ARChived with
ARC430.  This was ONLY done for this article!  If you're going to
playing with DOS on a daily basis, you had BETTER use a GOOD text
editor!  There are no excuses for using Wordstar in non-document mode,
when EDIX is lots easier, MANY times more appropriate and powerful, and
works in any subdirectory.  

Here's how to get it legally.  (It's worth many times the price). 

EDIX 
Emerging Technology Consultants, Inc.
2031 Broadway
Boulder, CA 80302
(303) 447-9495
LIST PRICE: $146.25

    If you already use a text editor that has everything you've needed in
the past, here are the things you're going to need for my articles:

 - Ability to generate an "" ESCape character (ASCII 27) on the screen. 
 - Ability to edit (create boxes with) the upper 128 ASCII characters, 
       such as:

    201   203   205   187
              ͻ              ͻ
                                                    
 186                   186                         
            206                                     
                                   ͹
 204               ͹ 185                         
                                                    
              ͼ              ͼ
    200   205   202   188 
    201   209   205   187
               ͻ             ͻ
                                                     
 186       179         186                        
                                                     
          197   196                                  
 199           Ķ 182         Ķ
                                                     
               ͼ             ͼ
    200   207   205   188

       I have used those fancy characters throughout this  article, but
those characters are usually not printed correctly on a typical printer.

     Here's the news on how to create those graphics characters.  If you have
an IBM brand computer, you received a green BASIC manual along with your
computer.  Open up that manual to its APPENDICES (you'll see the pages
numbered A-1, G-2, etc.) and look for the appendix called ASCII Character
Codes. Notice all of those characters and columns of numbers.  Here's how
to use them:

     Make sure that you're now looking at a DOS prompt (the one that looks
like A> or B> or C>, etc).  Notice that the number 205 corresponds to a
symbol that looks like two horizontal bars, one above the other. 

Just like this:  

     Hold down the left <Shift> key and the <Alt> key simultaneously, and
type the number 205 on the numeric keypad at the far right of the keyboard
(NOT the numbers on the top row of the keyboard.  Let go of the <Alt> key,
and you should see the symbol appear on the screen.  Do it again, and
notice that you are building a longer line of two horizontal parallel
lines.  Now try a few other symbols, including 186, 201, 203, 205, 187,
206, 204, and 185.

     Please remember that not every text editor or word processor will
allow you to create these symbols. Wordstar, for one, will put a great big
M on the screen if you type <Alt> 205.  That's why I lean towards the text
editor called EDIX. 

1.3  DISK OPERATING SYSTEM. 

    You may as well upgrade if you're using DOS 2.00 or or 2.10 or 2.11.

    As of this writing, the best DOS I've found is PC-DOS 3.10.  It's
the newest version, there's VERY few bugs to bite you, and it's got a
snappy feature that makes me smile...  Using the Norton Utilities*, you
can UnErase a file much later than with DOS Two Point Whatever.  With
the older versions, if you just erased a file, you had better get it
back with UnErase muy pronto, before you save anything else onto the
disk.  With DOS 3.00 and 3.10 you've got a little more leeway.  I've
UnErased my lost files HOURS later in some cases! 

* Another indispensable box of DOS pipe wrenches, that pay for
themselves over and over: The Norton Utilities 
                          Full Retail Price as of  
                          Winter, 1985: $100.00 US 
                          By: Peter Norton 
                          2210 Wilshire Boulevard, #186 
                          Santa Monica, CA  90403 
                          (213) 826-8032 
1.4  HARDWARE. 
MINIMUM hardware requirements for ANY OF MY ARTICLES:

1.4.1  COMPUTER. 
    An IBM Personal Computer or compatible computer (such as a COMPAQ or
CORONA or others) with one floppy disk drive (referred to as drive A:)
and one Fixed Disk (sometimes called a hard disk, but we'll call it
drive C:).  If you've got more firepower, so much the better. 

    You MUST be able to start up your computer and get to a C> or
possibly D> prompt if this article is to make any sense to you.  If your
system refuses to start up and get to that kind of prompt, I advise you
to contact the person(s) who sold the system to you, and have them do it
for you.  It's a simple courtesy, and they owe it to you.

1.4.2  HARD DISK. 
    If you haven't gotten a hard disk yet, these articles are NOT going
to do you much good!  If you only have a 10 megabyte hard disk, you'll
hit critical mass before too long unless you're VERY careful. 
The bigger the better, I always say.  

1.4.3  MEMORY. 
If you've got an AT with the built-in 512k of RAM, you have an excuse
for having less than 640k of memory.  All others must go out and stock
up on inexpensive memory chips and boards.  The more USEABLE memory, the
better.  If you're going to add more than 640k to your machine, do it
right!  Make sure your add-on memory boards support the
Lotus\Intel\Microsoft "EMS" standard.  Anything else is just a drain of
power, and won't be useable when the newer versions of DOS come out. 

1.4.4  BUILT-IN CLOCK. 
I also assume you have a built-in clock in your computer, and you know
how to get at it through software.  It's essential that we be able to
date-and-time-stamp our work so we can figure out which copy of our
letter to Mom is the most recent one.  

These battery-powered clocks are currently built-into the better and
newer machines like the IBM AT and Compaq 286 series.  These are
designed to AUTOMATICALLY provide DOS with the date and time.  If you
have an older-type machine, and have the necessary memory expansion to
bring your memory up to at least 640k, chances are that you have one of
these clocks on the add-on memory board.  Look in that memory board's
manual and on the diskette that came with it to figure out what software
command on that disk provides tha accurate date and time. 

For example: I have a Persyst memory board in my machine, and I need
CLOCK.COM to load the date and time into DOS, and the proper command to
activate it is 

CLOCK/S >NUL        The /s means to provide DOS with the current date
                    and time, and the >NUL is a fussy way of making it
do its stuff without advertising itself.  I'll cover more about this  
in the REDIRECTION OF STANDARD OUTPUT section. 

1.5  SOFTWARE. 
I'll make NO further enemies during this article if I can help it, so
there will be no preaching about what application software is the best.
DOS tools don't count. I'll speak out on those any day. 

I'm going to assume that you have an IBM PC AT with one hard disk.  I'm
also going to assume that you have a strong desire to have the software
package called Symphony installed properly on your disk, and you are using
IBM PC DOS 3.10 as a Disk Operating System. I'll assume that you have EDIX
and can use it reasonably well, and that you have access to the freeware
files I include with this article.

2  LESSONS  

2.1  UNDERSTANDING MY INTENTIONS.   
HOW TO PREDICT MY INSTRUCTIONAL INTENTIONS.  (USE OF THE <ENTER> KEY)

        I'm going to be expecting you to use the <enter> key a lot.
This does NOT mean I'm going to mentioning it a lot.  If I want you to
type in the dir/w command and press enter, here's how I'll specify my
desire: 

DIR/W

    Got that?  Good!  I'll also be wrapping my explanations around the
commands, like this . . . 

VERIFY ON             means that we want the computer to be doubly 
                      certain that everything it reads from or writes on
any disk is accurate from now on.  This seems obvious, but it's NOT
automatically taken care of!  It'll warn you of major problems most of
the time.  Yes, it DOES slow things down a touch, but we more than make
up for it with the CONFIG.SYS file.  Refer to the DSKWATCH command for
more information on keeping a suspicious eye on your diskettes... 

2.2  START UP THE COMPUTER.   
    If you'd like to get going in the most efficient way, here's what I
generally do to bring my clients up to speed.  In order to continue, I'm
assuming your hard disk is long since partitioned and formatted.  If the
person who sold it to you didn't do it for you, get a good computer
store technician to set it up for you.  If you're ALREADY using the
newest version of DOS, skip this next section. 

2.2.1  INSTALLING A NEWER VERSION OF DOS. 
    Get the original DOS 3.10 disk and boot up the computer with it.
Give it the date and time when asked to, and start issuing commands: 

VERIFY ON            For the reasons stated above. 

SYS C:               To install the two DOS 3.10 hidden files IBMBIO.COM
                     and IBMDOS.COM onto the root dirsctory of drive C: 

COPY COMMAND.* C:    To copy the third file COMMAND.COM to the root
                     directory of drive C: and thereby make it possible 
to start up the computer with the proper version of DOS in memory. 

2.2.2  CREATING THE C:\DOS SUBDIRECTORY 

MD C:\DOS            To create a new subdirectory on drive C:  
                     called DOS, which is going to be our main base 
station of operations after we get done.  Now, press the letter c,  
hit the <F3> function key, and hit enter.  This repeated your last DOS 
command, but replaced the "m" with a "c".  It's as if you manually typed
in  

CD C:\DOS 

    So, now you've got the default drive as the root directory of drive
A: and the directory that's open and ready on drive C: is C:\DOS.  You
then start copying EVERYTHING from the plain DOS 3.10 disk into C:\DOS
with 

COPY *.* C:          But we're going to get rid of all of the typically
                     useless files that you'll never use in a thousand 
years.  We'll do that in a little bit.  First, we're going to put in the
OTHER DOS 3.10 disk, the one called Supplemental Programs.  Unless
you're heavy into assembly language programming, you don't need files
like EXE2BIN.EXE or LINK.EXE, and you CERTAINLY don't want to plug up
your hard disk with mind candy like DONKEY.BAS and SPACE.BAS.  So we'll
only copy one of the files onto drive C: 

COPY DEBUG.* C:      This file (DEBUG.COM) may not be something you'll
                     personally ever find a million uses for.  But, the 
major computer magazines are FULL of recipes for cooking up little
programs that can do you a lot of good, and the DEBUG command is the
most popular tool for this these days.  Let's keep it. 

2.2.3  CLEAN-UP TIME.  
    It's time to take out the trash. You may WELL disagree with my
opinions, but I'm going to clean out some pretty wretched stuff. 
Let's switch over to drive C: 

C:  
ERASE SELECT.*       Useless for real computers. 
ERASE KEY*.*         Useless unless you live in Italy, etc. 
ERASE *.PIF          Does ANYBODY use TopView? Really? Not I! 
ERASE COMMAND.*      It's ALREADY in the root directory.  We don't need
                     it anywhere else.
ERASE GRAFTABL.*     Has anybody found a reason to keep this one? 
ERASE FDISK.*        Useful ONLY on a floppy disk. 
ERASE BASIC.*        We'll keep BASICA.COM. BASIC.COM is useless. 

    After this, it all depends heavily on YOUR use of the computer. I
personally don't like COMP.COM, PRINT.COM, DISKCOMP.COM. SHARE.EXE, or
JOIN.EXE, but I could probably find some use for them if somebody could
tell me something impressive about them. There's better software out
there. 

    This whole process of erasing those files was pretty painless if you
only have to do it on one machine.  However, if you do a LOT of cleaning
up after other people's messes, I would STRONGLY urge you to get XTREE.

Here's an excerpt from the ADVERTISEMENT for XTREE: 

                 Executive Systems, Inc.  presents...   
                               X T R E E  
  "Every person who uses computers creates numerous files for storing
   information and data.  Often, files concerning similar topics can be
   found throughout several disks or in a haphazard arrangement on a single
   disk.  To access any given file, the user must struggle through multiple
   directory listings, issue many complex commands, and usually view and
   review to remember what's in what and where.  This process is confusing
   and time consuming."
   
  "MS-DOS provides a useful organizational structure called a directory.
   Directories allow the computer user to store files in separate groups on
   a disk.  The files in a directory are kept distinct from files in other
   directories.  MS-DOS also allows the user to organize and separate
   directories.  Each directory on a disk, in addition to containing a
   group of files, can have "sub-directories" branching off from it.  These
   sub-directories can each have their own group of files and
   sub-directories, and so on.  This directory branching organization is
   called a "tree structure." When there is more than one directory on a
   disk, to find the way to a particular sub-directory on a disk, the user
   specifies a "path" of directory names."
   
  "A drawback of the MS-DOS implementation of the concepts described above
   is that as the number of directories and/or files grows, the harder it
   is to keep track of them, find the data you need, and to throw away any
   unneeded data."
   
  "The purpose of XTREE is to facilitate the file and directory maintenance
   process by providing you commands to access, delete, rename, view, move,
   list, or show any and all files within any and all directories on your
   floppy and hard disks.  XTREE presents a "visualization" of the
   directories, sub-directories, and files on your disks in clear, graphic
   screen displays.  Statistical data is also displayed at all times; this
   data is updated as you perform your tasks."
   
  "XTREE is a powerful, interactive file management utility for the serious
   DOS user.  XTREE is available on the IBM PC and other MS-DOS computers.
   You can order your copy of the actual program by directly writing to us
   or using the telephone information below.  We accept Mastercharge, VISA,
   and American Express credit cards."
   
  "Executive Systems, Inc.  Department D.  15300 Ventura Blvd. Suite 305
   Sherman Oaks, California 91403 818) 990-3457"
   
2.2.4  COPYING THE SOFTWARE COMMANDS THAT COME WITH THIS ARTICLE.  
    The files that end with .COM and .EXE that (hopefully) were included
with this article should ALSO be put into the C:\DOS subdirectory.
We'll be putting the .BAT files in, too, after we decide which ones are
appropriate for you. 

    If you got this stuff from me on a diskette, just put that diskette
in drive A: and give the following command: 

COPY A:*.COM 

    This will copy all of the files on drive A: that end with .COM, and
let's load one into memory immediately: 

DOSEDIT              This command will be explained shortly.

2.2.4.1  EXPLAINING THOSE COMMANDS. 
    FIRST and FOREMOST: I DID  N O T  create these commands! That's 
not my talent (yet).  I'm the sort of person who is a tool collector.
Anybody can cut glass, if they have a glasscutter.  MY talent is in
creating stained-glass windows and crystal decanters, and then showing
others how to do it.  You need more than just tools!  I give credit to
the authors in EVERY case where I'm aware of it.  PLEASE let me know if
I omitted your name.  You deserve a lot of credit if you can create
tools of this quality!

2.2.4.1.1  THE DOSEDIT COMMAND. 
This program was found on the San Jose IBM Employee PC Club Bulletin
Board.  This documentation was written by Brad Kidder, San Jose.  As a
programmer, I have found this program to be one of the most valuable
programs that I have in my library. 

    DOSEDIT is a simple editor for DOS commands.  It can be used with
DOS 1.1 and DOS 2.x.  DOSEDIT uses a special set of the keys on the IBM
PC keyboard to allow you to edit the DOS command you are entering or one
of the previous commands that you have entered.  It keeps a command
stack of the last 256 characters of commands that you have entered and
you can scroll back and forth through this stack.  It also allows you to
edit the current command being displayed.  NOTE: 1 or 2 character
commands are not saved. 

UP arrow         Scrolls backward through the command stack. 
DOWN arrow       Scrolls forward through the command stack. 
ESC              Clears the command line. 
LEFT arrow       Moves the cursor left one position. 
RIGHT arrow      Moves the cursor right one position. 
HOME             Moves the cursor to the beginning of the command line. 
END              Moves the cursor to the end of the command line. 
INS              Toggles the insert function. 
DEL              Deletes the character under the cursor. 
CTRL-left arrow  Moves the cursor left a word at a time. 
CTRL-right arrow Moves the cursor right a word at a time. 
CTRL-HOME        Erases from the beginning of the line to the cursor. 
CTRL-END         Erases from the cursor to the end of the line. 
CTRL-PGUP        Erases the command stack. 
CTRL-PGDN        Erases the displayed entry from the command stack. 
BACKSPACE        Remains unchanged. 
CTRL-Z           Puts in an End-of-File (1AH - replaces the F6 key). 

The function keys F1-F6 no longer have assigned functions. 

Tutorial: 

    After power on, or <Alt><Ctrl><Del>, from the DOS prompt, enter
DOSEDIT (One time).  No message will be returned, only the DOS prompt.
To experiment with DOSEDIT, from the DOS prompt enter:

        A> ECHO ONE 
        A> ECHO TWO 
        A> ECHO THREE 

    Now use the up arrow key to see the last command (ECHO THREE).
Again use the up arrow key to see the preceding command (ECHO TWO).  Now
press enter to execute that command.  Then press the down arrow key to
see the following command (ECHO THREE).  Press either the up or down
arrow key several times to see how the commands wrap around.  Use the
Esc key to clear the command line.  Enter new commands and use the
control keys defined above to become familiar with all the functions. 

2.2.4.1.2  THE DSKWATCH COMMAND. 
--------------------------------------------------------------------------
    POWERFUL MEDICINE!  If things are inexplicably giving you fits  
with the files on your floppy disks, and you deeply suspect the quality
and integrity of your disk drives, THIS is the command to load into your
AUTOEXEC.BAT file!  It works intimately with the NEC chip that controls
the disk drives, and pays attention to the error messages that the chip
gives (which we humans normally never hear about).  When the disk drive
controller runs into a problem, we normally can only catch the GROSS
errors by giving the VERIFY ON command in our AUTOEXEC.BAT or by typing
it in at the DOS prompt.  The DSKWATCH command detects the subtle
errors, and silently puts one of the following messages on the upper
right corner of the screen:                Disk error: No response 
                                           Disk error: Failed Seek 
                                           Disk error: NEC Error 
                                           Disk error: Bad CRC Seen 
                                           Disk error: DMA Overrun 
                                           Disk error: Impos Sector 
                                           Disk error: No Addr Mark 
                                           Disk error: W. Protected 
                                           Disk error: Err Unknown 
     If you load DSKWATCH into memory, you'll be seeing a lot of these
messages, even if your floppy disk drives and controller are completely
healthy.  It helped ME to figure out that a fluorescent light near my
floppy drives was magnetic enough to randomly wipe out my disks...  I
KNEW I had a problem, because my disks were going belly-up without
warning.  The DSKWATCH command was giving me error messages like crazy,
and I kept eliminating the possible problems, creating new disks and
doing my usual work, until the DSKWATCH command dramatically decreased
its complaints.  Now I only get error messages when formatting a new
disk or booting up copy-protected software. 

2.2.4.1.3  THE FINDDUPE COMMAND. 
 SOURCE: Karson W. Morrison Feb. 13,1985 
 FORMAT: finddupe  

    This is great for finding extra copies of files that may be plugging
up your hard disk.  It's easy to use, too!

         OPTIONS: 
          List the entire directory of the disk: (1) 
          List only Duplicate files on the disk: (2) 
              For output on printer enter (P) prior to number option 

2.2.4.1.4  THE FLIP COMMAND. 
This command is great in a batch file.  Some basica files require all
capital letters for input, or you might be in the habit of turning on
the numeric lock when you use a program like Lotus 123.  
here's how to use flip.com:

FLIP CAPS ON 
FLIP CAPS OFF 
FLIP NUM ON 
FLIP NUM OFF 
FLIP MONO 
FLIP COLOR 80 
FLIP COLOR 40 

2.2.4.1.5  THE LIST COMMAND. 
PURPOSE: Provides a GREAT way of scanning through a text file or group
of files.  Replaces the TYPE command.  Displays the contents of an ASCII
text file, line by line with the aid of scrolling and positioning
commands.  An ASCII file of any size may be listed.   

FORMAT: LIST [d:][path]filename[.ext] 

EXAMPLE: list C:\dos\*.bat 

The "filename" is optional.  If omitted, you are prompted to to enter a
filename.  You may include drive, path, and wild cards in the file name.
The first file which matches the name is displayed until an end-of-file
character is encountered.  Each file which matches the "filename" may be
displayed.  LIST was designed to display ASCII files.  That is, files
which contain text and not binary or control codes.  Text characters
usually range from a value of 32 to 127.  Characters below 32 (a blank)
are replaced with a funny character to indicate that a non-displayable
character has been encountered.  This character is an upside-down
question mark. 
     If you desire help while LISTing a file, simply press ? and
you'll get a screenful of help concerning commands.


2.2.4.1.6  THE QUERY COMMAND. 
Source: Unknown 
    This was the very first command I found that properly exploited a
nifty little "trap door" in DOS.  If you spent much time with the DOS
manual, it BRIEFLY mentions the concept of "errorlevels".  I'm not
embarassed to say that I haven't got a clue what an errorlevel looks
like, but I know what it does, so I'll describe it MY way.  I think of
an errorlevel as a "mailbox" in memory.  The DOS manual tells us how to
LOOK INTO that mailbox, but it tells us that only the BACKUP and RESTORE
commands can put anything into it.  If we use a program to put a
particular number into that mailbox, that's called "setting the
errorlevel".  Using the Query command, we can write clever batch files
that can branch in any direction we want, just by setting the errorlevel
and referring to it later. I use this in the F.BAT batch file.

2.2.4.1.7  THE REBEEP COMMAND. 
Source: Unknown 
    Best used in a batch file. All it does is beep its fool head off
until you press any key to continue. I use it to signal disaster in the
F.BAT batch file.

2.2.4.1.8  THE RENDIR COMMAND 
Source: Unknown 
This is a VERY simple program to use!  It's a way to rename those pesky
subdirectories, without any fuss or bother.  The RENDIR command works
just like the RENAME command, only it's a bit dumber.  It DOESN'T know
about paths and such, so it needs to be in the directory that contains
the name of the subdirectory to be renamed.  Here's how I use it....
You have RENDIR.COM in a subdirectory on drive C: called C:\DOS, and you
have issued a PATH command in your AUTOEXEC.BAT file saying: 

PATH=C:\DOS

and you now can use the RENDIR command in ANY subdirectory...  You then
realize that you have a subdirectory on drive C: called C:\LOTUS.  This
is a dopey name, because you have Lotus 123 and Lotus Symphony on the
same hard disk, and Symphony is in its own subdirectory, called
C:\SYMPHONY.  You now get a wild urge to rename the C:\LOTUS
subdirectory as C:\123 (after all, NOBODY calls the program "lotus"
anymore, they call it 123!).  So, you issue the following commands:

C: To make sure you're on drive C: 
CD\ To change over to the root directory 
DIR *. to look at the directory names 
RENDIR LOTUS 123 to rename the \Lotus subdirectory as \123 
DIR *. to admire your work.  


2.2.4.1.9  THE SCRNSAVE COMMAND. 
Source: Unknown 
    This is a good utility for people who leave their computers on all
day.  I once helped a client who brought me his computer, which had a
badly etched screen.  His company used Lotus 123 all day, and when the
computer was off, you could still see the spreadsheet BURNED into the
screen phosphors, ruining them forever! 

 FORMAT: scrnsave 6     (the 6 can be replaced by any number from 1 to 9)

    The 6 means that six minutes after you last touched the keyboard,
the screen will go blank.  As soon as you touch the Alt key, the screen
will go back to the way it was.  This is a safe command for IBM
computers with IBM Monochrome or Graphics boards or both, but I'm still
rather wary of using it on Compaq computers or any computer with a
Hercules card.  The older versions of the SCRNSAVE command were known to
build up massive amounts of volts in the monitor board, frying the
circuits!

2.2.4.1.10  THE VTREE COMMAND. 
Source: PC Magazine
--------------------------------------------------------------------------
    This is a "visual tree" command, and it needs to be used on a disk
that has subdirectories on it.  

EXAMPLE: vtree

2.2.4.1.11  THE WHEREIS COMMAND. 
Source: The original idea is from "Softalk for the IBM Personal
Computer" by John Socha. 

    PURPOSE: Searches for specified file(s) through all DOS 2.0 and
above directories, listing matching files with their appropriate
directories and sub-directories. 

FORMAT:    whereis [filename[.ext]]

EXAMPLE:  whereis g*.*

    The filename or extension can contain wildcards.  No matter what the
current directory is, WHEREIS will search the entire disk, and list the
directory(s) where the file resides. 

    History: This is a revised version of the popular WHEREIS.COM
program.  This revision causes the screen to stop scrolling after
displaying 23 lines and to prompt for more.  Depressing any key will
resume scrolling for 23 more lines.  The revision was designed by John
Tuccio of Westport, Conn. and implemented by Ted Eyrick of San Antonio,
Tx. It will work correctly on the volume on which it is resident.  It
does not automatically cross over onto other volumes.  (Note the absence
of an optional volume label in the format description.  The following
examples demonstrate proper usage:  
WHEREIS myfile.txt
WHEREIS myfile.*  
WHEREIS *.bas  
WHEREIS *.*  

2.2.5  TREE-STRUCTURED SUBDIRECTORIES.   

THE DIAGRAM WE'LL BE REFERRING TO.

        You are about to see a drawing of how we're going to set up the
hard disk.  Rather than using it as a big box with thousands of manila
folders dumped in at random, we will set it up as a filing cabinet with
drawers.  Each drawer MUST have a theme, otherwise you won't be able to
remember where to find your goodies. 

    First, there's the "Root" directory, called "C:\" Think of it as the
"Top Drawer" of the filing cabinet, (in which we'll allow NO
MISCELLANEOUS DRAWERS!) We DON'T want to put ANYTHING in the root
directory unless it's absolutely necessary, because many hard disks have
a limit to how many files can be created in the root directory.  You
might suddenly find this out if you keep receiving the "file creation
error" message. The only files that I consider to be necessary in C:\ are
COMMAND.COM, CONFIG.SYS, and AUTOEXEC.BAT.

    Since we'll be using the VTREE command to view the subdirectory
structure, I'll be referring to THIS type of diagram from now on:

 DOS 
 SYMPHONY 
 WORKFILE  BUSINESS 
                  PERSONAL 
                  MISC 

    There are good reasons for wanting to set up the hard disk in this
manner.  This way, if you're using Symphony, and you want to choose a
file, you don't have to look through forty files that are used by Lotus
DOS.

Also, it's neater in the long run.

2.2.5.1  DON'T COMPLICATE YOUR LIFE! 
    This one probably doesn't even need to be mentioned, but I'd like to
head you off if you plan to go berzerk creating sub-sub-sub- 
subdirectories.  Unless you REALLY enjoy typing or are using excellent
software (like Symphony and XTREE) that makes choosing a subdirectory as
easy as pointing at it, take it easy.  We want to keep the hard disk and
our lives as clean and tight as possible. 

    Since a subdirectory is actually just a file with information about
other files within it, it takes up room (4096 bytes minimum for an XT!). 

2.2.5.2  CREATING SUBDIRECTORIES.   
    Go ahead and issue these commands:

MKDIR \SYMPHONY      Creates a subdirectory to contain the files  
                     that teach the computer how to be a multi-talented,
                     multipurpose machine. 
MD \WORKFILE         Creates a subdirectory that will be the first  
                     place Symphony will look at whenever it needs to 
find one of the files we humans create with Symphony. 

MD\WORKFILE\PERSONAL Creates a sub-subdirectory that we can choose 
                     as a storage place for Symphony personal files. 

     Each line performed the same function, and I wanted you to see that
you ARE allowed a little bit of leeway in how you type in commands.  Not
much, but some.  We're giving each of our subdirectories a name
consisting of up to 8 characters.  (I personally don't use subdirectory
names like WORKFILE.026, which use the entire 11 characters possible.
It's just a matter of taste).

    We just created a few subdirectories and a sub-subdirectory.  These
are highly desirable, because we don't want 3,000 files tangled in a
heap.  Think of it as a filing cabinet with several new drawers: each
drawer has its own name, so we know what it's for, and how to find it. 

2.2.5.2.1  CHANGING THE C> PROMPT. 
    So far, if you're confronted with a typical machine, you're staring
at at VERY unfriendly DOS C> prompt.  Enough, already!  It's almost time
to make the prompt work for us... First, let's play. Type this in: 

PROMPT Wake up, everybody! 

    If you've never played with the PROMPT command before, the results
from typing this in might alarm you a bit.  It means nothing.  We've
just changed the standard way DOS sys "Yes, Boss?".  No more fun for
now, it's time for WORK. I want the prompt to change to look like THIS: 

It's now 13:30 on Thu 9-16-1988  
(Current directory is C:\DOS)  
C>_

Here's how: type in the next line EXACTLY. 

PROMPT It's now $t$h$h$h$h$h$h on $d$_(Current directory is $p)$_$n$g 

    If you hunt down the proper reference (look in the DOS manual in the
back for the PROMPT command), you'll see that there is a LOT of
information, but no recipes for success.  (Does this typify the rest of
the manual?  Of course!  Maybe they'll bind this article into the next
DOS manual.) The PROMPT etc. stuff up above is my DE-BUGGED, CLEAN AND
PRETTY AND NO-FOOLING MIGHTY DAMNED EFFICIENT way of changing the
prompt. 

    Here's the explanation: 

$t                   means give us the current time, but it normally
                     gives us a display like 10:05:06:08.  Personally,
                     I'd rather not look at that.  So, we use 
$h                   as a backspace to chew up the unnecessary digits. 
$d                   means we want to see the date, but since we already
                     know what year it is, we'll get rid of that with
                     some more $h's. 
$_                   means "move down to the next line". 
$p                   means we'd like to keep track of WHERE we are in
                     the hard disk's subdirectory structure.  It gives a
                     running report of our PATH.
$n$g                 just means give us the standard C> or A> prompt. 

2.2.5.3  MOVING THROUGH THE SUBDIRECTORY SYSTEM.   
    Now that we can see where we are at all times, let's look at the new
directories:  

VTREE                which should show us a something that looks  
                    like this:   

 DOS 
 SYMPHONY 
 WORKFILE  PERSONAL 

    Then, we'll take a little tour through the structure...  

CD\WORKFILE          Which is the standard way of telling DOS to 
                     "close" one drawer (technically referred to as the
                     "default directory") and open up another one,
                     called C:\WORKFILE.   

    Now, let's ask for a directory listing: 

DIR                  and you should see something that looks like: 

 Volume in drive C is MY TOOLBOX 
 Directory of C:\WORKFILE 

.            <DIR>     11-20-85   7:26p 
..           <DIR>     11-20-85   7:26p  
PERSONAL     <DIR>     11-20-85   7:26p 
        3 File(s)     1018432 bytes free

       The top two files are supposed to be ONLY for the internal use of
the computer.  In most cases, you can ignore the single-dot file.  We've
got PLANS for the double-dot file, which will come in handy in a minute
or so... First, let's create a few more sub-subdirectories: 

MD BUSINESS          Which creates a sub-subdirectory parallel to the
                     C:\WORKFILE\PERSONAL subdirectory.  We'll check
                     that by typing in  
VTREE                to admire our efforts.   
MD MISC              creates the last of our sub-subdirectories for now,
                     and we can say  
VTREE                one more time, just to be compulsive. 

2.2.5.3.1  A QUICK WAY TO MOVE DOWN ONE DIRECTORY LEVEL.

CD BUSINESS          will move us down one level into the
                     C:\WORKFILE\BUSINESS subdirectory, and our prompt 
should affirm this.  This particular command is a VERY snappy way to
save typing while in DOS, because we might normally have to type 

CD\WORKFILE\BUSINESS to accomplish the EXACT same thing!

2.2.5.3.2  A QUICK WAY TO MOVE UP ONE DIRECTORY LEVEL. 

    Now, according to the DOS prompt message, you should be in the
C:\WORKFILE\BUSINESS subdirectory.  Let's move UP one level in a simple
way: 
 
CD ..                And you'll notice from the prompt message that
                     you're now back in the C:\WORKFILE subdirectory. 
What happened?  The ".." file is where DOS keeps track of what's above
it in the tree structure, and we just used it to quickly move UP one
level.  Let's do it again... 

CD ..                NOW you can see that the current directory is C:\,
                     which is as far up as we can go.  If you loaded 
the DOSEDIT command a ways back, just hit the up arrow key until we get
to the  
 
CD\WORKFILE          command again, add \PERSONAL to it, and press
                     enter, which is exactly equivalent to the 

CD\WORKFILE\PERSONAL command. 

2.2.5.3.3  A QUICK WAY TO MOVE SIDEWAYS IN SUBDIRECTORY LEVELS. 

    If you've been keeping up all along, you should have a prompt that
tells you that you're currently in the C:\WORKFILE\PERSONAL
subdirectory, and we'd like to move SIDEWAYS into the C:\WORKFILE\MISC
subdirectory.  Here is a reasonably quick way to do it: 

CD ..\MISC           which says, (in effect), "go up one level and come
                     back DOWN one level into the MISC subdirectory next
                     door".
    Now that we're there, we can quit our educational tour and get on
with installing a menu sytem. 

2.2.5.4  MENU TEXT FILES  

    Let's copy a couple of my generic menu text files into the proper
subdirectory: 

COPY A:*.TXT \DOS    this copies all files that end with .TXT into the
                     proper subdirectory.  Now, let's quit doing our 
commands by remote control, and enter the C:\DOS subdirectory ourselves: 

CD\DOS               Now, let's admire these files... 
LIST *.TXT           which allows us to non-destructively flip through
                     all files ending with .TXT, and we can signal when
                     we're done with each one by hitting the  
<ESC>                key.  Just for the heck of it, as soon as you've
                     gotten back to a DOS prompt by pressing the <Esc>
                     key a few times, try these commands: 

TYPE MENU.TXT        To literally dump the contents of that file on the
                     screen, and 
TYPE MENU2.TXT       To display the second, less crucial menu options.

    You'll notice that there are only TWO box-shaped menus.  Here's why:

2.2.5.4.1  MENU PRACTICALITY: DON'T FORCE A CLIENT TO THINK. 

    I am NOT being snide by using this opening title...  I don't want to
THINK, I want to DO.  Let the computer do the left-brain stuff - I'll
handle the creative end.  I used to espouse 5 separate menus, all
subdivided into categories: Software, Tutorials, Backup, Diskettes, and
Miscellaneous.  You wanna know what happened?  9 out of 10 people never
bothered to hunt through the menus to track down the proper command to
back up the hard disk, and I got tired of it. Now, I just stick to two
menus:
2.2.5.4.2  MENU.TXT  
    This is our MAIN menu, and it should contain the commands that we use
most often, or SHOULD use most often.

    Here's what MENU.TXT should look like:

ͻ
 MENU         Type one of the below and then press Return.          MENU 
͹
     MENU = This menu again. (MENU 2 = Second menu)                        
        S = Symphony (S OTHER = Tutorial, PrintGraph, Translate)           
                                                                           
        F = FORMAT a 360k floppy disk in drive a: (F HI = HI-DENSITY)      
      DOS = INSTALL DOS on a freshly formatted diskette.                   
 FULLBACK = Back-up ALL of the information on the hard disk.               
 ENDOFDAY = Back-up TODAY'S information from the hard disk.                
   LOCKUP = SAFELY TRANSPORT this computer from place to place.            
ͼ

    MENU.TXT is what will be the first thing you look at each time you
start up your computer, and hopefully the last thing you'll see as you
turn it off.  Due to typical space limitations (and in the interest of
keeping the first menu reasonable decipherable), we have a second menu
to supplement the first:

2.2.5.4.3  MENU2.TXT  
    The only reason for the second menu is to contain the miscellaneous
commands that are not deathly important, but aren't explained elsewhere.

ͻ
 MENU 2        Type one of the below and then press            MENU 2 
͹
           MENU = To see the first help menu again.                        
         LOCKUP = Make the computer SAFE to move from place to place.      
 DISKCOPY A: A: = Make a perfect COPY of a floppy disk.                    
       CHKDSK/F = ("JANITOR" command)  Checks for trash on the hard disk.  
        DIRSIZE = Get a DIRectory listing with directory size.             
       BACKSTAT = Find out what files haven't been backed-up lately.       
 REL *.TXT \DOS = RELocate all files ending with .TXT into C:\DOS          
   WHEREIS G*.* = Find all files on the hard disk beginning with G.        
     LIST *.TXT = Leisurely view all files ending with .TXT                
       FINDDUPE = Easy way to locate duplicate files on hard disk.         
          VTREE = Get a Visual TREE of the subdirectories.                 
ͼ

    Of course, NEITHER of these menus are wriiten in stone.  If you are
going to be doing this sort of thing for other people, here is a nice
rule of the road from me to you: 

2.2.5.4.4  MENU ETIQUETTE: EASIER TO REMEMBER IS BEST OF ALL. 

    I've seen a lot of consultants fall short on this one: They've
discovered how to set up a menu, and they make it look like this:

====================================================================
    PLEASE CHOOSE ONE OF THE FOLLOWING AND PRESS ENTER: 
====================================================================
    1  - For Symphony 
    1x - For Symphony in magenta and green 
    2  - For dBASE III 
    2x - For dBASE III with every Prokey macro in the world 
====================================================================

    This menu was designed for a "Techie" who is used to thinking like a
computer, and I would respectfully like to hit them with a brick when
they do this to a computer that doesn't BELONG to them!  I suggest the
following, alternative phrasing for the average end user who is scared
of the computer, (and their replacement who has to learn from THEM!): 

====================================================================  
    PLEASE CHOOSE ONE OF THE FOLLOWING AND PRESS ENTER: 
====================================================================  
             s - For Symphony 
          s mg - For Symphony in magenta and green 
           db3 - For dBASE III 
       db3 4me - For dBASE III with every Prokey macro in the world 
==================================================================== 

    In my experience, most computer-timid people would rather have the
machine be friendly, even if it means MORE keystrokes.  Yes, it's true.
Besides, if you work on HUNDREDS of computers over a span of a year's
time, how do you expect to SUPPORT the first of these two menus?  You'll
waste two hours on the phone (with a fearful client who wiped out your
menus) trying to track down your own bad habits to clean them up.  KEEP
IT SIMPLE!  And if you really doubt this, ask the user's opinion.

2.2.6  BATCH FILES.   
    Once again, I expect you to have a DOS prompt on the screen that
tells you that the current directory is C:\DOS.  If you have my articles
and various files on a diskette, put that diskette in drive A: and issue
the following command... 

COPY A:MENU*.BAT     which will copy all batch files beginning with MENU
                     into the current directory.  There should be ONLY
                     ONE, called MENU.BAT. 

    On the odd chance you aren't yet familiar with batch files, I'll
give you a quick primer.

2.2.6.1  BATCH FILES, RATHER INADEQUATELY EXPLAINED.   
    Batch files are a major way of making life easier for ourselves on
IBM/Compatible computers.  We've been typing in a lot of commands to DOS
during the course of this article, and I GUARANTEE you'll get sick of
baby-talking to DOS if you're not already.  We humans can collect all of
the commands we normally issue into small files.  We then can just press
two or a few keys, and the computer kicks into gear, performing these
commands one after the other, saving us many keystrokes.  It's our way
of using DOS as a programming language. 

2.2.6.1.1  THE MENU BATCH FILE - THE TYPICAL EXAMPLE.   
    If you issue the following command: 

MENU                 then the first help menu will be placed on the
                     screen in a nice way. Alternatively, 
MENU 2               will place the second help menu on the screen.
                     This is all accomplished with a single batch file
                     called MENU.BAT.  Let's take a look at it. 
TYPE MENU.BAT        should show you this: 

          echo off 
          cls 
          C: 
          cd \dos 
          if '%1'=='2' goto menu2 
          type menu.txt 
          goto end 
          :menu2 
          type menu2.txt 
          :end 

    I'll explain the new concepts contained in each batch file down
here:

ECHO OFF             is used as first line of EVERY batch file, and
                     nowhere else ever.  It means we don't want the 
following commands flashed on the screen in a confusing way, so "zip
your lip, computer!"

CLS                  means "clear the screen".  The second command for
                     EVERY batch file.

C:                   means that DOS should pay attention to drive C:
                     from now on.  This tells DOS that you want to 
"change the default drive", meaning that all of your previous commands
might conceivably have been taking it for granted that drive A: was the
important one, and now drive C: is going to be the important one.  This
line is CRUCIAL, but for a hidden reason.  I WILL refer to this later
on! 

CD\DOS               means that DOS should pay attention to the C:\DOS
                     directory from now on.  Important for the same
                     reason!  Time to get off track temporarily: 

2.2.6.1.1.1  PARAMETERS. 
    Good concept, bad name. If I type in the following command: 

MENU 2               then the "2" is called a parameter.  If we had
                     phrased our command with a few more parameters, 
such as "MENU 2 TEXAS COWBOYS", then "MENU" would be parameter 0, "2"
is parameter 1, "TEXAS" is parameter 2, and "COWBOYS" is parameter 3.
It goes all the way up to parameter 9 if you want. I never go beyond
parameter 2, personally. 

2.2.6.1.1.2  REPLACEABLE PARAMETERS. 

    Once again, here is the line I'm currently explaining: 

IF '%1'=='2' GOTO MENU2 

    The %1 is what is called a "replaceable parameter".  I can see
several people fading out of the room when they see this one, but I'll
explain how it works.  It's NOT that bad, if it does some good!  Loosely
translated, "IF '%1'=='2' GOTO MENU2" means this: "If what the human
being typed in as parameter 1 looks like a number '2', then skip the
next few lines, looking for the address called 'MENU2'.  Once you find
it, continue executing the commands you'll find on the next line. If
ther is NOT a '2' at all, or the parameter is anything BUT a '2', just
continue with the next line". 

    Here's why this can do us some good.  Remember how I insisted that
we be careful not to put unnecessary files on any disk?  I used to have
two different batch files, one to show the first menu, and one to show
the second menu.  I have since discovered how much space those little
files are REALLY taking up. In the November 12, 1985 issue of PC Magazine, 
it's mentioned that files containing only 1 byte on a Seagate 20 megabyte 
hard disk REALLY take up 8,192 bytes of storage! Using replaceable
parameters, I make each batch file do the work of at least two, and it's only
a little bit slower. 

2.2.6.1.1.3  THE MENU BATCH FILE, CONTINUED. 

TYPE MENU.TXT        displays the first main menu on the screen, 
GOTO END             means that the next few lines should be skipped,
                     and as soon as the line that looks like :END is
found, the batch file will continue with the next line, if any. 

:MENU2               is only a label that we can branch over to.  It
                     does nothing except sit there, waiting to be looked
                     for. 
TYPE MENU2.TXT       displays the second help menu on the screen. 
:END                 is another label we can GOTO. 

    The MENU.BAT is a reasonable example of how I write my simplest
batch files.  If I'm placing notes within my batch files for other
people to learn from, some of my batch files extend to over 100 lines!
If you're using a nice fast computer, that's not much of a problem, but
the delays inherent in a LONG batch file can be pretty prohibitive.
There are some AMAZINGLY complicated ways to break a mega-batch-file
down to only 2 or 3 lines, but that's another article completely.

2.2.6.1.1.4  THE AUTOEXEC.BAT FILE.   
    Remember how I had you dink around with the PROMPT command? I
consider that to have been a VERY good lead-in to this batch file. 
THIS IS THE BIGGIE!  Other batch files are A-Okay for saving us a little
work here and there.  The AUTOEXEC.BAT file is THE LAW for the computer.
NO FOOLING.  Most people haven't got a CLUE about this stuff. 

    How would you like your computer to run better?

    We human beings create the AUTOEXEC.BAT file to make our IBM or
compatible computers work MUCH better on a day-to-day basis.  If we are
clever and knowledgeable, we can overcome the worst deficiencies in the
Disk Operating System (DOS).

     For instance, you might using a program for several hours, saving
your work onto a storage disk VERY carefully.  Just before turning off
the computer, you save your work for the last time.  For NO obvious
reason, the data you save is NOT saved correctly.  Totally unaware of
this, you turn off the power and go do something else.  Next morning,
you attempt to retrieve your work, and are greeted with a loud beep and
an error message saying: "Part of file is missing".

     Here's another example: If you've been using your computer for
awhile, you may have tried to stop your computer from printing out
something in error.  You may have had the experience that this doesn't
always work as quickly as you would like.  The computer stops
misbehaving when it finally feels like getting around to it.

     This lesson is NOT guaranteed to completely eradicate such
problems, but it can help provide some peace of mind.   

    Each time you start up the computer, the Disk Operating System (DOS)
looks for a "batch" file called AUTOEXEC.BAT, containing as many or as
few commands as we desire.  DOS then follows these commands, one by
one.   

    Here's a little preparation for our next step: make sure that the
current directory is C:\DOS, put the diskette with my files in drive A:
and then say 

COPY A:*.MSG         to copy all message files that end with .MSG into
                     the current directory.  You'll see why shortly, in
                     the sections explaining the AUTOEXEC.BAT and the
                     FULLBACK.BAT and ENDOFDAY.BAT files. 

    The AUTOEXEC.BAT doesn't do us any good unless it's in the C:\
(root) directory, so let's move on up to the top: 

CD\ 

2.2.6.1.1.4.1  DON'T WIPE OUT A PREVIOUS AUTOEXEC.BAT! 

    We should be in the C:\ directory, and let's CAUTIOUSLY test to see
if there is ALREADY an AUTOEXEC.BAT file in there.  

TYPE AUTOEXEC.BAT    Might or might not get any results.  If you get a
                     message saying "File not found", we're safe to
                     issue the next command: 

COPY A:AUTOEXEC.BAT if the disk containing my files is in drive A:

    If the TYPE command displayed a file on the screen, why don't you
just read along with the rest of us, but restrain yourself from
modifying or adding a new AUTOEXEC.BAT on top of your old one unless you
feel confident about doing it!
 
2.2.6.1.1.5  THE AUTOEXEC.BAT FILE, CONTINUED. 
    Here's what my generic AUTOEXEC.BAT looks like: 

        echo off
        cls 
        date
        time
        path=C:\dos 
        cd\dos 
        break on 
        verify on 
        dskwatch
        dosedit
        scrnsave 6 >nul
        prompt It's now $t$h$h$h$h$h$h on $d$_(Current directory is $p)$_$n$g 
        type backdate.msg 
        type menu.txt 

    Again, I'll begin an explanation of the new concepts:   

DATE and TIME        mean that the computer is going to ask you for the
                     date and time at this point.  THIS IS VERY 
IMPORTANT!  After you back up your work onto floppy diskettes, you can
tell which diskette contains the most recent copy by looking at the
directory.  This can save you from accidentally wiping out or losing
important work.

2.2.6.1.1.5.1  IF YOU HAVE A COMPUTER THAT LACKS A BUILT-IN CLOCK. 
    This is the ONE time I'm going to lapse from my supposition that
you're using an IBM AT.  The DATE and TIME lines are NOT NECESSARY in
the AUTOEXEC.BAT file on newer machines like the IBM AT and the Compaq
Deskpro 286 series!  Forget you ever knew they existed!  They can get in
your way!  I only include those two lines here for those people out
there who DON't have built-in clocks in their machines. 

    As I was saying much earlier in the HARDWARE MEMORY REQUIREMENTS
section, if your older machine already has at least 320k of RAM, chances
are very good that it contains an additional memory board that has a
battery-powered clock.  This memory board came with a diskette,
containing various files.  One of these files will automatically enter
the date and time for you.  Copy this file to the C:\DOS subdirectory,
and include its name in the AUTOEXEC.BAT file, instead of the DATE and
TIME commands.  For example: if you're using an AST Six-Pak Plus memory
board, the proper command is ASTCLOCK.  If I were you, I'd replace the
DATE and TIME commands with the ASTCLOCK command, but I'd do it in a
certain way:

2.2.6.1.1.5.2  REDIRECTION OF STANDARD OUTPUT. 

    This information is a supplement to the DOS manual's "redirection of
standard output" section.

    If you manually run the ASTCLOCK command,  

ASTCLOCK

    You'll get a message on the screen that looks somewhat like this: 

Date and time processors loaded
Current time is 02:41:24
Current date is 11-21-85

    So, if you're creating a file called AUTOEXEC.BAT and wish to
include the ASTCLOCK command, change the line saying

ASTCLOCK             to a line that says 
ASTCLOCK >NUL        and you'll notice that the date and time are still
                     being loaded into the computer, but no message is
                     flashed on the screen.

    The > symbol means that we want to dump something to somewhere other
than the usual place, which in this case means the screen.  In this
example, we're dumping it out to electronic limbo, which is called NUL
in DOS.

    Here's something else to try, just to get a feeling for redirection:
turn on your printer, and issue the folowing DOS command:

DIR >PRN             Normally, the output of the DIR command is the
                     screen, but now it's been temporarily changed to
                     the printer, called PRN.  

2.2.6.1.1.5.3  IMPORTANT KEY TO THIS SYSTEM! THE PATH COMMAND. 

PATH=C:\DOS          means that we want to give commands, and we want
                     DOS to follow our commands EVERY time.  By giving 
the PATH command each time we start up the computer, we're telling DOS
where it can find further information if it doesn't understand us.  The
THEME of the C:\DOS subdirectory is that it contains all of our TOOLS
AND GOODIES.  DOS will use the news it got from the PATH command to find
any tools and goodies it needs. 

    I CAN'T stress this strong enough.  If the system is set up
properly, using this article's guidelines, you only need to set the PATH
command ONCE in the AUTOEXEC.BAT, to ONE subdirectory, and you'll reap
some benefits:

2.2.6.1.1.5.3.1  BENEFITS: FASTER OPERATION. 

    Setting a PATH that looks like this: 
 
PATH=C:\;C:batch;C:\PROGRAMS;C:\RBASE;C:\DOS 

is certainly possible, but it's HORRIBLY slow, because by the time the
PATH command has finished forcing the hard disk to root through all of
those subdirectories, you could have been growing HAIR as a hobby.

2.2.6.1.1.5.3.2  LESS ERROR MESSAGES. 

    The PATH command is not normally described this way, but here is the
bottom line: The purpose of the PATH command, if properly set up, is to
make the "Bad command or filename" error message unnecessary.  Have YOU
ever seen that message, HMMMMM? I am SO sure!

2.2.6.1.1.5.3.3  EASE OF USE. 

    If you adhere to my guidelines, all of your batch files will work in
ANY subdirectory, on ANY disk, any time you see a DOS prompt. Period. 

2.2.6.1.1.6  THE AUTOEXEC.BAT FILE, CONTINUED AGAIN. 
BREAK ON             means that we want to reserve the right to panic
                     and break out of problems we might be experiencing. 
Normally, we can tell the computer to "WHOA" by holding down the CTRL
KEY and briefly pressing the SCROLL LOCK or BREAK key on the upper right
corner of the keyboard.  (See the word "Break" on the front of the key?)
This procedure will still work, but now we've told the computer to pay
EXTRA-attention to our desire to break out of what's going on.   

VERIFY ON             means that we want the computer to be doubly
                      certain that everything it reads from or writes on 
any disk is accurate from now on.  This seems obvious, but it's NOT
automatically taken care of!  It'll warn you of most major malfunctions
while they're happening, no matter what program you're currently
running.  The way a VERIFY problem makes itself known is with a message
such as: 

            Disk read error drive C:  
            Abort, Retry or Ignore?

    As soon as you see that sort of message, you're being expected to
make a decision between those three possible choices.  I CAN't give you
a general rule of thumb, but you COULD press 'I' to Ignore the error and
try to figure out what the problem was and how to get around it. 

    I know I already explained the DSKWATCH command in the section
called THE DSKWATCH COMMAND, but I still think it bears repeating how
much I like this command to partially supplement the VERIFY ON command. 

    The DOSEDIT and SCRNSAVE commands can be included or deleted from
the AUTOEXEC.BAT without any problem, but you might want to at least
give them a try... 

TYPE BACKDATE.MSG    is a nice way to get solid information that only
                     shows up when you start up your computer. It gives 
a report on when the information on the hard disk was last backed up.
You'll see it in a moment.

2.2.6.1.1.7  TESTING THE AUTOEXEC BATCH FILE. 

    Open the drive A: door and hold down the <CTRL><ALT><DEL> again, and
give the computer the date and time if asked to.

    The next thing you should see on the screen at this time should be
the following message, supplied by BACKDATE.MSG:

    The most recent hard disk backup was performed on... (None so far)

    Right under that, you should see the main Menu, and under that there
should be a prompt that looks somewhat like this:

It's now 13:30 on Thu 9-16-1988 
(Current directory is C:\DOS) 
C>_

2.2.7  THE CONFIG.SYS FILE.   

    This is NOT exactly a batch file, but it IS a file we humans create,
containing a collection of special commands.  The difference is that
these commands are NOT commands that you normally can type in at the DOS
prompt.  The CONFIG.SYS file is another "obedience trainer" for your
computer, and its shocking how few people know the value of it.  The
file called CONFIG.SYS is read before AUTOEXEC.BAT, and has a different
reason for existence.

     When you start up your computer, the Disk Operating System is
loaded into memory.  It then looks for a file called CONFIG.SYS on the
start-up disk.  If the file exists, then DOS performs the commands that
we human beings have set up for it.  After that, the AUTOEXEC.BAT kicks
in. 
  
    You can study the technical aspects of the CONFIG.SYS file in
greater detail in your DOS manual's Configuration Commands section. 

     CONFIG.SYS is great for everyone, but especially for those advanced
computer users who like to have a lot of programs in memory at the same
time.  For instance...  I have Symphony, Prokey, Sidekick, DOSEDIT, and
the DOSEDIT utility in my computer's RAM memory simultaneously while
writing this article.  If I didn't prepare a good CONFIG.SYS file a few
months ago, I could pretty well expect things to start "crashing and
burning".  I get distress calls from repair technicians all the time.
Most times it's because they can't pinpoint a problem as a definite
hardware or software problem, and they call me when the shotgun approach
(replacing boards and software and hard disks) has no effect.  Nine
times out of ten, the problem can be traced to the lack of a CONFIG.SYS
file.

    Here's why: Normally, you can only have up to 8 files open in memory
at one time.  Think of this as being able to juggle 8 objects at once:
if your computer tries to "juggle" more than it can handle, things start
crashing and burning, the keyboard locks up solid, stuff like that.
Unpredictable problems are assured.  So, we'll talk about the
FILESS statement in your CONFIG.SYS file to find out how to get
around that. 

    Another benefit of the CONFIG.SYS file is that it will likely make
your hard disk and floppy disks quit making a "wacka wacka wacka" sound.
This is done with the BUFFERS statement.

2.2.7.1  CREATING A CONFIG.SYS FROM THE KEYBOARD. 
     We're going to create a file called CONFIG.SYS from scratch in the
root directory of the hard disk..   

    First, let's test to see if there's ALREADY a CONFIG.SYS in your
root directory. Turn on your printer, and issue this command: 

TYPE C:\CONFIG.SYS >PRN 

    If nothing printed out, and the screen shows a "File not found", you
can safely move on to the next paragraph.  If the printer printed out
something ELSE, you DEFINITELY want to do some studying before you do
anything that might be hazardous.  The process of creating a CONFIG.SYS
file that I'm about to explain would create a NEW file on top of the old
one.  This is FINE if you have the printed record of your old file and
combine the old stuff with the new stuff using the next paragraph. 

    Here's the simplest way to create a fresh, new CONFIG.SYS file. 
Type each of these commands, pressing ENTER after each line:

COPY CON CONFIG.SYS 
BUFFERS=16           (Refer to next paragraphs if using more than 10
FILES=28             megabytes of storage)...
 
     After the last line, hold down the <CTRL> key and briefly press Z. 
This is equivalent to hitting the <F6> key, except the DOSEDIT command
overrides that function.  That should put a "^Z" on the screen, which is
an "end of file" character.  Then, press ENTER.  You'll see your disk
drive's light go on and then off.  That means the CONFIG.SYS file has
been created.  You can now re-start your computer in the normal fashion,
with invisible but valuable differences...

     Here's the explanation:

COPY CON CONFIG.SYS   means that we want to copy a file called
                      CONFIG.SYS from the console (screen) onto the
                      current disk drive. 

BUFFERS=16            is a great way to speed up your computer's disk
                      accessing.  According to the great Peter Norton, 
the best number of BUFFERS to assign depend on the type of disk drive
you use the most.  If you only use floppy diskettes, you should set the
number of BUFFERS to 8.  If you use an IBM PC XT with a 10-megabyte hard
disk, set your BUFFERS to 16.  If you use an IBM AT or a Compaq Deskpro
with a 20-megabyte hard disk, set your BUFFERS to 32.  I'm only
guessing, but it seems like the progression is 16 BUFFERS to each 10
megabytes.  

    I've seen a properly set up BUFFERS statement make many hard disks
MUCH quieter and quicker.  This is how we more than overcome the speed
disadvantage of the VERIFY ON statement in the AUTOEXEC.BAT file. 

FILES=28              means that we want to give DOS the ability to
                      "juggle" up to 28 files in memory at once if 
necessary.  This can include memory-resident utilities like Sidekick,
Applications software like Symphony or Framework, Symphony's Tutorial
Application, the Lotus Access Menu, and any other such goodies we might
use during a typical day's work.  I've found that 28 is a good number,
though there's no real upper limit to the number you can specify.  Each
additional file you add takes up 39 more bytes of RAM memory.

    The FILES statement can be especially nice for all of the Symphony
or Framework or dBASE III users who have discovered problems when
combining their application software with various memory-resident
programs like the Pop-Up series and SideKick.  You might have noticed
that the computer would inexplicably lock up when you'd have many of
these programs in memory.  Being logical and intelligent, you'd stop
using these auxiliary programs.   

    A PROPERLY set-up FILES statement in the CONFIG.SYS file may clear
up your woes!  This is advice that might just cause you to welcome
Sidekick and all of the others back into daily use. 

    There's LOTS of other things that can go into the CONFIG.SYS file,
but they're REALLY not appropriate in a FOUNDATION article.  Well cover
several more goodies real soon!  (The articles are already written!) 

2.2.8  BATCH FILES, CONTINUED.   

    Please go ahead and re-start the computer if you haven't already, so
we can continue. 

    The following batch files are EXTREMELY debugged:


2.2.8.1  THE S.BAT FILE.   

    In order to use the S.BAT file, we need to be fully prepared to
install Symphony on the hard disk. If you don't use Symphony, and/or
never INTEND to use Symphony, I would still urge you to read through
this section for the newest nuggets of information.

    If you HAVE Symphony and use it or would like to, here's what we
need to do: 

    We're going to install Symphony into the C:\SYMPHONY subdirectory,
and clean out any unnecessary files.  At that point, you're going to
have to deal with the copy-protection situation.  At the time of this
writing, (Winter 1985), the newest version of Symphony is the debugged
version of Version 1.1.  It normally requires a "key disk" in drive A:
each time you begin Symphony, and that's something I have found irking.
If you ALSO find this to be irking, contact these folks. among others: 

Quaid Software Limited                 Central Point Software, Inc. 
45 Charles Street East                 9700 SW Capitol Highway, #100 
Third Floor                            Portland, OR  97219 
Toronto, Ontario M4Y 1S2               (503) 244-5782
(416) 961-8243

    If the rumored new version of Symphony really DOES allow you to
install it and run it without a key disk, forget I said anything.  We
shall SEE. 

    Go ahead and issue the following commands: 
CD\SYMPHONY          and then put the TONY disk in drive A: COPY A:S.BAT
                     \DOS  to copy the S.BAT file into the C:\DOS  
                     subdirectory, whereupon we put one of the Symphony
diskettes in drive A: (any of them) and say 
COPY A:*.*           to copy all files from A: into C:\SYMPHONY. 
                     Repeat this with each of the Symphony diskettes,
and follow the standard installation procedures in the Symphony manuals.
By the time you're done, you should be back at the DOS prompt, and still
in the C:\SYMPHONY subdirectory.  Issue the following commands to clean
up any unnecessary files: 

ERASE COMMAND.*      You would not BELIEVE how many people don't catch
                     this one!  The COMMAND.COM file belongs in ONE
                     place...  The C:\ directory, and NOWHERE else!  I
                     cleaned up one hard disk that had COMMAND.COM in 17
                     places on the hard disk! 

ERASE *.BAT          If you're done with your installation, and you're
                     using a hard disk, you DON'T need any batch files
                     in this subdirectory. 
ERASE CONFIG.SYS     Ditto.  We've got THAT covered in the C:\ directory
                     already, right?   

    Now it's time for OUR batch file.  Make sure you're currently in the
C:\DOS subdirectory, by saying: 

CD\DOS               and then put the Tony disk disk in A: COPY A:S.BAT
                      and now, let's take a look at it: 
TYPE S.BAT

    Here's how it should look: 

        echo off 
        cls 
        C: 
        cd\symphony 
        if '%1'=='other' goto other 
        symphony 
        goto end 
        :other 
        access 
        :end 
        cls 
        cd\dos 
        type menu.txt 

    If we use this batch file, it's a LOT easier getting into
Symphony and its peripheral programs. We COULD make the batch file
simpler by running the Symphony program itself from ACCESS as well, but
that hogs up memory (about 5k, last I heard). 

    As usual, here are the new concepts not covered before: 

SYMPHONY             is the "bare-bones", most memory-efficient way of
                     starting up the main program.  
ACCESS               is the "shell" to run all of the auxiliary Symphony
                     programs, as well as the main program itself if you
                     don't mind the extra memory being used up.

2.2.8.1.1  THE KEY TO A SUCCESSFUL SOFTWARE INSTALLATION. 

    Here is a VERY important concept I don't want you to miss...  After
the SYMPHONY command is invoked within S.BAT, the batch file STOPS.  As
soon as we exit from Symphony, the batch file CONTINUES with the next
line!  Many people don't get that until they see it happening.  This is
THE KEY to designing a batch file to work with ANY software.   

2.2.8.1.2  BREAD-AND-BUTTER BATCH FILE & SOFTWARE INSTALLATION. 

    Here's another, less ornate throwaway example.  This procedure is
the SAME for nearly EVERY program out there!  Assuming you're in the
mood to install CROSSTALK telecommunications software in the C:\XTALK
subdirectory, here is the QUICK way to do it. 

MD\XTALK 
CD\XTALK             and put the Crosstalk program disk in A: 
COPY A:*.* 
ERASE COMMAND.* 
CD\DOS

Then, I'd create a batch file called XTALK.BAT that would look like
THIS: 

        echo off 
        cls 
        C: 
        cd\xtalk 
        xtalk 
        cls 
        cd\dos 
        type menu.txt 

Then, using EDIX to modify MENU.TXT, I'd add a line that looks like
this (the line referring to "xtalk"):

ͻ
 MENU         Type one of the below and then press Enter.           MENU 
͹
     menu - To see this menu again. ( menu 2 - for second menu)              
        s - For Symphony (s other - for Tutorial, PrintGraph, etc.)          
    xtalk - For Crosstalk XVI.                                               
                                                                           
   lockup - To SAFELY TRANSPORT this computer from place to place.         
        f - To FORMAT a floppy disk in drive a:                            
      dos - To INSTALL DOS on a freshly formatted diskette.                
 fastcopy - To make a perfect COPY of a floppy disk.                       
 fullback - To back up ALL of the information on the hard disk.            
 endofday - To back-up TODAYS information from the hard disk...            
ͼ

    That's the big point this whole article was leading towards! If that
seems a little too easy, I wouldn't be surprised. Too many people
OVERCOMPLICATE life for themselves and their friends. It CAN be simple! 

    I've found that batch files that look like this are my batch file
bread and butter.  A good 90% of the batch files that I've created to
begin using TIM IV or Multimate or other software look just like this
one, with only the 4th and 5th lines being different from file to file.

    Again, if you follow the simple guidelines I've set out in this
article, you can add in just about any new software just by creating a
new subdirectory, copying the diskette into it, and creating a batch
file in the C:\DOS directory that follows the above guidelines.

2.2.8.2  THE LOCKUP.BAT FILE.   

        USING THE SHIPDISK COMMAND... (for IBM-brand hard disks)

        Take out the reddish-colored "Guide to Operations" book that
came with your computer, and open it to the inside back cover.  You'll
notice that there is a diskette there, labeled "Diagnostics".  Put that
disk in drive A: and issue the following command:

COPY A:SHIPDISK.*

        This copies any files present on drive A: with names that begin
with "SHIPDISK" onto the current disk drive and directory.  (Hopefully
still the C:\DOS subdirectory of drive C:) 

    Then, let's put the Tony disk in A: and say 

COPY A:LOCKUP.BAT 

    Here's what LOCKUP.BAT looks like:

echo off 
cls 
C: 
cd\dos 
echo This routine is about to "Lock Up" the  
echo computer's hard disk, making it
echo SAFE to move from place to place.  
echo Do you want to continue?
query
if not errorlevel 1 goto no
cls
echo Wait for the red light to go off  
echo before doing anything else...
echo In order to get the hard disk to work  
echo at all from now on, it will be
echo necessary to turn off the computer  
echo and then start it up again...
shipdisk
:no
cls
type menu.txt


     Here's the reason for this batch file: When you physically move
an IBM hard disk, it's important to do some preparation.  The hard disk
reads information with an "arm".  If that arm bashes against some
information on the disk, it might cause some damage in an unpredictable
way.

        Therefore, IBM has provided a "shipdisk" command on the
"Diagnostics" disk that tells the hard disk's arm to move to a safe area
on the disk and stay there.

2.2.8.3  THE F.BAT FILE.   

This batch file is designed to SAFELY format two different types of floppy
diskettes. The HIGH density disks (1.2 megabytes) and the LOW density disks
(360 kilobytes). This batch file is designed for a computer that can HANDLE 
these two different types of diskettes. If you have an OLDER type of computer
that can only handle the LOW density diskettes, look further for the proper
batch file.

To use this batch file, you would type

F         if you want to format a LOW density diskette.
F HI      if you want to format a HIGH density diskette.

echo off
cls
c:
cd\dos
if '%1'=='hi' goto HIGH
if '%1'=='HI' goto HIGH
echo You are about to format a 360k floppy disk in drive a:
echo This will wipe out all information (if any) that exists on
echo the disk. Do you want to continue?
query
if not errorlevel 1 goto end
format a:/4
goto end
:HIGH
echo You are about to format a 1.2 Megabyte (HI-CAPACITY) floppy disk in drive a:
echo This will wipe out all information (if any) that exists on
echo the disk. Do you want to continue?
query
if not errorlevel 1 goto end
cls
format a:
:end
cls
CD\dos
type menu.txt

If you have an OLDER type of computer that can only handle the LOW density 
diskettes, here is YOUR F.BAT file:

echo off
cls
c:
cd\dos
echo You are about to format a floppy disk in drive a:
echo This will wipe out all information (if any) that exists on
echo the disk. Do you want to continue?
query
if not errorlevel 1 goto no
format a:
:no
cls
type menu.txt


2.2.8.4  THE DOS.BAT FILE.   

echo off
cls
c:
cd\dos
echo You are about to install the Disk Operating System on a floppy disk 
echo in drive a:
echo This makes the floppy diskette have the power to start up the 
echo computer all by itself, before any hard disk gets a chance to do so. If
echo you're using a hard-disk-equipped machine, you won't normally be needing to
echo do this procedure, because you'll be starting up the computer using the
echo hard disk most of the time.
echo Again, this is normally NOT NECESSARY for most diskettes, and it hogs
echo too much storage space. Do you want to continue?
query
if not errorlevel 1 goto no
cls
echo Please make SURE you have a diskette in drive a:!!!
pause
cls
echo Presently transferring the first two invisible system files. . .
echo These files are called IBMDOS.COM and IBMBIOS.COM, and they are
echo ONLY necessary on a diskette if you intend to start up a computer
echo with that diskette. 
echo   
sys a:
echo . Copying the third file over. . . (COMMAND.COM)   
copy c:\command.com a:
:no
cls
type menu.txt
    
        Here's the explanation for the new commands in this batch file:

SYS A:             means that we want to copy two of the 
                   previously-mentioned hidden
files onto our new floppy disk, so that it will have 2/3 of the ability
to start up the computer if we want it to.

(Remember when we got a display of the total disk space and electronic
memory? You were told that there were 3 hidden files. The third one was
the file where the name is stored).

"copy command.com A:" gives the floppy disk the last 1/3 of the
above-mentioned ability, by putting a copy of the DOS file "command.com" on
drive A:

        As of now, that floppy disk can start up a computer like yours with
no error messages. However, this whole batch file is not used very much,
because those three files (the two hidden files called IBMDOS.COM and
IBMBIO.COM, plus good old command.com) take up about forty or seventy thousand
characters of space on a floppy disk, which might well be used for other
things, like backup copies of all of your personal letters and phone lists.

        In other words, don't use DOS unless you know for a fact that the
diskette will be starting up somebody's computer on a regular basis. Probably
95% of the floppy disks you'll deal with on a regular basis will only hold
stuff important to human beings, not to computers.

     Let's go on:

2.2.8.5  THE FASTCOPY.BAT FILE.   

echo off 
cls 
C: 
cd\dos 
echo You are about to make a quick copy  
echo of a floppy disk in drive A: 
echo onto another disk (later on) in drive A:  
echo Do you want to continue? 
query 
if not errorlevel 1 goto no 
diskcopy A: A: 
:no 
cls 
type menu.txt 

ECHO You are etc.    is an authorized exception to the "zip your lip"
                     command.  We WANT a message to be flashed on the
                     screen, and the echo command can do it for us. 

DISKCOPY             means to make a perfect copy of one
                     diskette in its entirety onto another diskette.

        There is no batch file here for the "diskcomp" command, which
verifies that our diskcopy was okay. This is because we said "verify on" in
our autoexec.bat file when we started up the computer.

2.2.8.6  THE SLOWCOPY.BAT FILE. 

echo off
cls
c:
cd\dos
echo You are about to make a slow (but PERFECT) 
echo copy of one floppy disk in drive a:
echo (the SOURCE diskette) onto another diskette (The TARGET disk).
echo Do you want to continue?
query
if not errorlevel 1 goto no
copyiipc a: a:/v
:no
cls
type menu.txt


2.2.9  BACKING-UP THE HARD DISK.   

I DID NOT COMPLETELY originate the following three files: BACKUP.BAS,
FULLBACK.BAT, and ENDOFDAY.BAT. These were heavily modified from a
wonderful article in a past issue of the PC-oriented magazines. If I can
find out who the original author was, I'll be glad to give them credit.

Here's a hot tip from Tony to you... since the DOS manual doesn't go
into great detail to tell you, here is the proper procedure for
COMPLETELY backing-up all of the information from the hard disk onto
some floppy diskettes.  The reason why we want to do this is because
we've already created a carefully-constructed collection of valuable
information, and we're fully aware that accidents can happen.  We want
to be able to keep an emergency copy of all of our subdirectories,
software, utilities and hard work.  I'll explain how to do the
dumping-back procedure later.

    Here is the way my backing-up procedure works: If you want to perform
a COMPLETE backup of everything on the hard disk, you would invoke the

FULLBACK

command. This would give you some advice about how to be prepared. Once
you begin the backup procedure, you'll get asked for each backup diskette
in turn. 

Let's say it takes you 17 diskettes to completely backup your hard disk.
If this were true, then 16 diskettes were COMPLETELY filled, and probably
diskette # 17 has some empty space left. We WILL be using this empty
space!

The BACKUP command copies each file onto the diskettes, and making a
little notation in the hard disk's directory by each file's name,
indicating the file has been backed-up. For the sake of being simplistic,
I'll call this notation a "chalk-mark". Later on, if you modify any files
by adding names to your database or re-saving a worksheet or copying a new
file onto the disk, you'll also "erase" the "chalk-mark". This is why the
ENDOFDAY batch file exists. I'll refer to it shortly.

After the FULLBACK command gets through with backing-up onto floppy
diskettes, it'll beep and ask you what diskette you have in drive A:
Using our example, let's say you open the diskette drive door and take a
look at the diskette, which is labeled "BACKUP #17". You type in

17

and press enter, and that information is stored away for later use by the
ENDOFDAY batch file.

So, you continue using your computer over the next week, adding new
information. It's time to do an ENDOFDAY backup!

Let's pretend once again that diskette # 17 still has some room left on
it. If you give the 

ENDOFDAY

command, it searches though the entire hard disk, looking for any files
lacking a "chalk-mark". If it finds them, it adds them onto disk # 17,
continuing to fill it up. If disk # 17 gets filled up, you'll be asked for
disk # 18 and so on. You might want to do this sort of thing every week,
and at the end of the month, do another FULLBACK on a completely different
set of diskettes. At the end of the NEXT month, RE-USE the original backup
diskettes with another FULLBACK procedure. This is the safest way of doing
a backup of your hard disk, if you're using the DOS BACKUP.COM command!

2.2.9.1  THE FULLBACK.BAT BATCH FILE.   
echo off
cls
c:
cd\dos
echo You are about to begin the process of COMPLETELY backing-up the 
echo information stored on the hard disk...
echo  
echo Every step will be explained to you as you go through this procedure.
echo  
echo If you're new to all of this, here's what you should do. In order to continue
echo this procedure, you should have AT LEAST fifteen formatted diskettes ready.
echo The average 10 megabyte hard disk holds a maximum of 30 diskettes worth
echo of information.
echo  
echo If you don't have enough diskettes ready, just answer "n" to bomb out of this
echo part and go buy enough diskettes to get the job done. Then format the
echo diskettes. 
echo  
echo Then, put a paper label on each diskette, and give each one a label like
echo Backup disk 01, 
echo Backup disk 02, etc.
echo and then give the FULLBACK command another try.
echo  
echo If you've done a FULLBACK backup before, just re-use the old backup disks.
echo  
echo Are you FULLY prepared to continue?
query
cls
if not errorlevel 1 goto end
backup c:\ a:/s
echo This pause is intended to let you see if there are any messages from DOS.
pause
cls
if errorlevel 4 goto failure
if errorlevel 3 goto you-stop
if exist \dos\*.msg erase \dos\*.msg
basica backup
cls
echo Hurray! judging from the lack of error messages from DOS, It worked properly!
echo        Okay...  You're all done! Now, take all of your backup disks
echo                     and HIDE THEM UNDER THE BED!
pause
goto end
:you-stop
echo Evidently you told the computer to stop by pressing Control-Break...
echo   That's fine, but PLEASE do another backup as SOON as possible!
rebeep
goto end
:failure
echo WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! 
echo Oh, no! This computer is acting up! The backing-up procedure is 
echo            in desperate need of being re-run! 
echo WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! 
rebeep
:end
cls
cd\dos
type menu.txt

    This batch file takes advantage of the fact that the BACKUP.COM file
sets an errorlevel according to how well things went during the backup
procedure. I included these lines:

if errorlevel 4 goto failure
if errorlevel 3 goto you-stop

because I've had personal experience where the BACKUP command did NOT
completely backup all of the hard disk due to a wiped-out floppy diskette.
The FULLBACK batch file will alert you if something major goes wrong.
Please refer back to the section explaining the QUERY command for more on
errorlevels.

2.2.9.2  THE BACKUP.BAS FILE.   
I also refer to "basica backup". This is the ONLY time I use the BASICA
language. 

10 'This is BACKUP.BAS, heavily modified by Tony Lindsey, (619) 295-2922
20 KEY OFF:CLS
30 OPEN "\dos\backup.msg" FOR APPEND AS #1
40 OPEN "\dos\backdate.msg" FOR APPEND AS #2
50 PRINT CHR$(7);"               We're almost finished! "
60 PRINT CHR$(7);"                    "
70 INPUT "What is the NUMBER of the diskette in drive a: RIGHT NOW";A$
80 PRINT #1,"              >> Backup disk #";A$;" <<"
90 PRINT #2,"        The most recent hard disk backup was performed on ";DATE$
100 SYSTEM:END

It creates two text files. One is called BACKDATE.MSG, containing a single
line that looks like this:

        The most recent hard disk backup was performed on 12-13-1986

That line is displayed just before our main menu, every time we start up
the computer. It's a nice way to be reminded when I last did a backup.

The other text file created by BACKUP.BAS is called BACKUP.MSG, which
contains the name/number of the last diskette used for a backup:

              >> Backup disk #17 <<

We use this in ENDOFDAY.BAT.

2.2.9.3  THE ENDOFDAY.BAT FILE.

echo off
cls
c:
cd\dos
echo      You're about to make an ENDOFDAY-style backup of the 
echo            information that has not been saved lately.
echo     Would you like to go on with this?
query
if not errorlevel 1 goto end
cls
echo         Okay! You're going to need to put 
type \dos\backup.msg
echo into drive a: before you can go on to the next step.
echo        Are you READY to continue?
query
if not errorlevel 1 goto end
if exist \dos\*.msg erase \dos\*.msg
backup c:\ a:/s/a/m
echo This pause is intended to let you see if there are any messages from DOS.
pause
cls
if errorlevel 4 goto failure
if errorlevel 3 goto you-stop
if errorlevel 1 goto nofiles
basica backup
cls
echo Hurray! judging from the lack of error messages from DOS, It worked properly!
echo        Okay...  You're all done! Now, take all of your backup disks
echo                and HIDE THEM UNDER THE BED!
pause
goto end
:you-stop
echo Evidently you told the computer to stop by pressing Control-Break...
echo   That's fine, but PLEASE do another backup as SOON as possible!
rebeep
goto end
:failure
echo Evidently the disk you put in is NOT acceptable for some reason...
rebeep
goto end
:nofiles
Echo Evidently the computer found no files to back up. This might or
echo          might NOT be considered as good news.
pause
:end
cls
cd\dos
type menu.txt


                              IN CLOSING:

     I've worked like a slave on this article, and I've asked about 20
people to go over it and give me stern criticism. That was about 3 weeks
ago. Since then, two have done so. I'm strongly desiring to get this
article out onto the bulletin boards, so I'm going to ask you once again
to contact me if something is left open to doubt or needs further
clarification. I'm honing my writing skills, and I want to continue
putting out the information I've gathered. I have enough RIGHT now for
about 17 articles of this length, and I'm still gathering. 

    Drop me a line!
                    Tony Lindsey, December 13, 1985
2.3.3  SUGGESTED READING.   

(All recommendations are my own opinions, formed after personal experience)

Recommended reading material for beginning computer learners:

PC World magazine. I've noticed that their emphasis has been on getting the
"big picture", and they can sum up a lot of information in a few pages in a
way that a beginner can understand.

Recommended reading material for intermediate computer learners:

PC magazine (The independent guide to IBM Personal Computers).  A
twice-weekly magazine, containing wonderful pearls amidst the endless
advertisements.  For example: the Departments section of the table of
contents shows the page numbers of the "User-To-User" and "PC Tutor"
columns, which educated me more than any other source, along with the
corresponding columns in PC World magazine.  Great for finding out the
stuff that IBM never told you.

PC Magazine                   PC World 
Ziff-Davis publishing         PC World Communications, Inc. 
P.O. Box 2445                 555 De Haro Street 
Boulder, CO 80321             San Francisco, CA 94107 

Recommended reading material for people who are ready to dive into the
deep end:

Inside the IBM PC by Peter Norton.

An excellent book, but easier to understand if you pay extra for the
diskettes that are offered as supplements to the book.

