Batch files (sometimes called indirect command files) may be used to invoke
a commonly performed series of commands, or commands that take a long time to
run but can be performed without supervision.  The DOS manual contains a
good explanation of what a batch file can contain and how to invoke it.  If you
are not familiar with the concept, you should see that writeup before
continuing on here.  This help file will suggest tricks for batch files that
you may not have thought of.

* The "REM" statement to output on the screen may be replaced with a period "."
  in the left column of the line (it suppresses double spacing as well).

* File copy operations within a directory can be made a little safer by doing
  the copy through a batch file that looks like this:

  IF NOT EXIST %2 GOTO DO
  . DESTINATION FILE ALREADY EXISTS - THE COPY WAS NOT PERFORMED
  GOTO DONE
  :DO
  COPY %1 %2
  :DONE

  The second filename is checked to see if it exists, and if it does, the COPY
  operation is not permitted.  Neither filespec may contain a path.
* The use above may be modified for other applications as well.  I
  occasionally specify the full filename and extension for the source file by
  mistake when using the IBM Macro Assembler.  This has the VERY nasty result
  of overwriting the source file with the object destroying the source.  The
  answer was obvious after this happened a few times.  Here is the batch file:

  IF NOT EXIST %1 GOTO DO
  .  ------ ASSEMBLY NOT PERFORMED ------
  GOTO DONE
  :DO
  MASM %1,%1,NUL,NUL;
  :DONE

* To suppress the extra DOS prompt after the last command in the batch file,
  do not press the Enter key at the end of the last line in the file.  If the
  last line in the file is a label as shown above, this trick does not work.

* If you have specified ECHO OFF for your batch files, some DOS messages still
  are displayed (for example the COPY command displays the number of files
  copied).  To suppress these messages, terminate the command line in the batch
  file with the output to null device specifier ">NUL".  For example:

       COPY THISFILE THATFILE >NUL
* Other batch files may be invoked from inside the original batch file.  It
  is necessary to invoke another copy of the command processor portion of DOS
  because only one level of batch file is supported per processor.  The disk
  containing the batch file must be a system disk, and the drive the computer
  was originally booted from must also contain a system disk (if the batch file
  is to be run from the boot drive, only the one disk is required).  The nested
  batch files are invoked in the normal manner but preceded by the expression
  "COMMAND/C " (for example COMMAND/C batchfile).  The command processor is
  loaded from disk and then uses the name of your batch file as an argument.
  When the batch file has completed, the memory used by this temporary
  processor is freed up.  While running, the extra copy of the command
  processor requires about 3200 bytes of memory.  Invoking extra copies of
  the command processor is described briefly in the DOS manual starting on
  page 1-11.  The following is what the batch file might look like.  It would
  be invoked in the normal manner from the DOS prompt.

    type thisfile.bat
    . now invoke another batch file
    command/c batch1
    . returned from 1st file, now do next
    command/c batch2
    . done both files - return to DOS prompt

* You can set up a series of commonly used commands in a file and rather than
  deleting statements from it, just comment out the commands you do not wish to
  invoke by preceding the command with a period "." as shown below.

       . PRINT FILE1.DAT
       PRINT FILE2.DAT     <-----}
       . PRINT FILE3.DAT         }--  only FILE2.DAT and FILE4.DAT are printed
       PRINT FILE4.DAT     <-----}

* Command line parameters may be displayed on comment lines.  For example:

       . Do you really want to copy from %1 to %2 ?
       . If not press Ctrl-C, otherwise
       PAUSE
 the printer using the Ctrl-PrtSc key
  (see the help file KEYS for information).

* If you have erratic disk problems wh