DOS Lesson 4: External Commands; Emergency Boot Disk

Last week we looked at the internal commands of DOS. These commands
are contained within COMMAND.COM and are loaded during the boot sequence. Because
of this, a certain amount of the limited DOS memory is committed to holding
internal commands. Obviously, some commands do not need to be loaded into memory
every time you boot, because they are used infrequently, or possibly because
they are large and take up a lot of space. These commands are stored as separate
files in your C:\DOS directory. (Usually; C:\DOS is the normal default, but
during the installation it is possible to specify a different directory.) Let’s
look at these external commands:

append assign attrib backup
chkdsk command comp dblspace
debug defrag deloldos deltree
diskcomp diskcopy doskey dosshell
edit emm386 exe2bin expand
fasthelp fastopen fc fdisk
find format graftabl graphics
help himem interlnk intersvr
join keyb label mem
memmaker mirror mode more
msav msbackup mscdex msd
nlsfunc power print replace
restore scandisk select setver
share sort subst sys
tree undelete unformat vsafe

Please note that you might not find all of these files on every
computer. This will depend on things like which version of DOS you have installed.
In some cases Microsoft replaced one file with a different file in later versions.
An example of this is CHKDSK (i.e. “Check Disk”). This name survives
in Windows NT, but in DOS (and later, Windows) this program/applet was replaced
by the later SCANDISK. So look at this as a list of some of the files you might
find on your computer. You may have some that are not on this list, as well.
Also, note that other programs will sometimes install files in the DOS directory.
In particular, Windows 3.x installed many of its files in this directory, and
sometimes updated the versions that DOS originally installed. This can complicate
the discussion a bit, but the basic files and how they operate is still going
to follow the outline we will discuss.

One file that is very important, though it is not a DOS command,
is the included copy of BASIC. In earlier versions of DOS this as called GWBASIC,
and in later versions, QBASIC. One of the important external commands, EDIT,
is actually a BASIC program, and will not run unless BASIC is present. This
is important to remember if you are preparing an emergency boot disk for DOS.

Extensions, Help, and associated files

External commands are files, and as such have file extensions.
Generally these will be either *.EXE or *.COM. An *.EXE file is what is called
an executable file. This is a file that is compiled to run as
a program. To this day, any Windows program is run from an *.EXE file. The other
type. *.COM, is the original “Dot Com”. This refers to a command
file. A few of these files will be *.SYS, which are system files,
such as the IO.SYS and MSDOS.SYS files we discussed in Lesson 2. Another file
type is the *.OVL file, which means overlay. This file type is
found with backup programs, particularly.

Often these external files will come with Help files as well.
Help files have the extension *.HLP. If you have a dual-boot system with both
DOS and Windows, you can open these *.HLP files using Windows’ built-in Help
File viewer.

Emergency Boot Disk

One of the things that anyone learning about DOS or about computers
in general ought to have in their arsenal is a DOS Emergency Boot Disk. Let’s
assume you have DOS installed already on your C: drive, and you can boot into
DOS. How do you create this emergency boot disk? You place a blank floppy disk
in your A: drive, and at the C:\> command prompt use the command:

format a: /s

This command has three parts. First, it uses the external command
FORMAT. Second, it applies this command to the a:, or floppy drive. The last
part is called a switch in DOS terminology. Many DOS commands
have switches available to modify the command in some way. In this case, the
/s switch tells it to place the system files on the disk. Recall
from Lesson 2 that this means that the hidden system files IO.SYS and MSDOS.SYS
will be placed very specifically in the very first sectors of the disk. Also,
COMMAND.COM will be placed in the root directory of the disk. This is enough
to boot the computer. You may wish to add a CONFIG.SYS and AUTOEXEC.BAT on the
disk as well. You can copy these from your hard drive if you wish, using the

copy c:\config.sys a:

copy c:\autoexec.bat a:

You can modify these files later using the EDIT command to invoke
the DOS file editor.

At this point, you should test your boot disk by turning off the
computer (if you are in DOS), placing the boot disk in the A: drive, and then
turning on the power. If all goes well you should boot into DOS, though you
will probably be asked to enter the date and time when you boot. If you boot
to the C:\> prompt, this means that the computer never even looked at the
boot disk, and this is set in the BIOS. Go into your BIOS, look for the setting
for “boot order” or “seek order”, and change it from something
like “C,A” to “A,C”. Reboot, with your floppy disk in the
A: drive, and see if your boot disk works properly.

Once you know you have a good boot disk, you should add a few
things. All of the Internal commands are available because you have COMMAND.COM
on your disk. But you should also add some critical External commands:

  • attrib
  • chkdsk (or scandisk for later versions)
  • edit (remember that this will only work if you also add QBASIC)
  • fdisk
  • format
  • qbasic
  • undelete
  • unformat

If you have used disk compression there are additional issues involved, which
are beyond the scope of this particular introductory discussion. The external
commands listed above are critical for solving possible software problems with
your computer. I recommend that anyone following this series create such a boot
disk right away. This is a tool that any computer expert would have handy. I
have several emergency boot disks that I carry in my organizer so that I will
have them with me at all times.