Dec 242017
A simple DOS menu program.
File SH21.ZIP from The Programmer’s Corner in
Category File Managers
A simple DOS menu program.
File Name File Size Zip Size Zip Type
SH.DOC 13103 5119 deflated
SH.EXE 6672 4520 deflated

Download File SH21.ZIP Here

Contents of the SH.DOC file

SH Version 2.1
Program and documentation copyright 1989
by John R. Ackermann, Jr.

SH (short for SHell) is an easy to use menu program for MS-DOS
computers. Its purpose is to let you run applications by simply
pressing a function key. The menu is defined by a user-created
text file; it's easy to change the menu selections at any time.


SH is NOT in the public domain; it is a commercial product
marketed via the Shareware concept. I have retained ownership of
the program and am authorizing its use on terms that I think are
fair to both you and me:

1. If you use SH for more than a 21 day trial period, you must
register with me and pay a fee of $15.00 per copy (contact me
about site licenses at substantially reduced rates).

If this program is useful to you, it's only fair that you
pay a reasonable price for the benefits you get. Unregistered
use of the program after that period is a violation of my license
to you.

There's also a tangible advantage to registering... you'll
receive a new version of SH that doesn't make you look the
opening screen for a couple of seconds each time you start it up.
That makes it much easier to pop into and out of the menu.

2. I encourage you to distribute SH, but only in a package
including SH.EXE, SH.DOC, and README.NOW. If you distribute SH
on diskette, you may not charge more than the reasonable cost of
duplication and distribution. I think that $7.00 is a reasonable
maximum charge.

3. The actual license terms are at the end of this document.
Please read the license before using the program.

4. Your use of SH signifies your acceptance of these terms.


SH runs on any IBM-PC or 100% compatible, using DOS versions 2 or
later. You must have a disk drive (probably a hard disk)
addressed as drive C. SH uses only about 13k of RAM. It is a
shell that in effect surrounds your application programs and
launches them at your request. It's NOT a TSR (memory resident)
program and should not pose any conflicts with TSRs that you may
have installed.

SH is designed to make things as easy as possible for the user,
and to minimize the precious RAM that it requires. To accomplish
both of these tasks, it makes use of a resource already present
in your computer -- DOS's batch file language. When you make a
selection from SH's menu, it runs a batch file that you've
created. Doing this makes SH simpler and use less memory, and
prevents you from having to learn a complicated set of commands
to program SH to run the files you want, the way you want to run


SH.EXE should be installed in your current path. I suggest that
you put it in the same directory as your other utility programs,
and that you keep a path set to that directory at all times. For
example, I have a directory called C:\DOS where my DOS and
utility programs live, and my AUTOEXEC.BAT file has a command in it
("path C:\DOS") that sets a path to that directory. That's where
I install SH.EXE.

You must also have COMMAND.COM installed in the root directory.

Next, create a directory on your C drive called BATCH with the
command "makedir C:\BATCH". SH looks for a text file called
SH.TXT in this directory. The C:\BATCH directory also contains
the batch files that are executed when the user presses a
function key. SH automatically looks for this directory, so you
don't need to include \BATCH in your path command.

Now, create SH.TXT in the C:\BATCH directory. It must be a pure
ASCII text file (with no word processor control codes, and with a
carriage return/linefeed at the end of each line). You can use
any word processor or editor that has an ASCII mode. Each line
of SH.TXT represents one menu choice and the batch file to be
executed for that choice. There may be up to 20 lines in the
file and, therefore, 20 choices.

Each line of SH.TXT contains up to 25 characters of text to be
included in the menu, a vertical-bar separator character ("|" --
on my keyboard, it's a shift-backslash), and the name of the
batch file to be executed. For example, a simple SH.TXT file
might look like this:

Lotus 1-2-3|LOTUS
Word Perfect|WP

You can include spaces in the 25 character description, but there
can be no spaces between the separator character and the name of
the batch file.

Note that the ".BAT" extension is NOT included in the batch file
name -- it's automatically supplied by SH. The first ten menu
lines are assigned respectively to function keys F1 through F10.
If there are more than ten lines, selections 11 through 20 are
assigned to F1 through F10. The second bank of choices
is displayed in a second column on the screen, to the right of
the first ten.

Once you've set up the SH.TXT file with your menu choices and
batch file names, create batch files to run your applications.
Each application should have its own batch file located in the
C:\BATCH directory. I like to set up my batch files something
like this:

(command) (comment -- don't type this in your file)
cls clear the screen
echo off don't echo commands to the screen
cls clear the "echo off" command
cd \WPFILES change directories to where my wp files are
path C:\WP change path to find Word Perfect
wp run Word Perfect
cd \ change back when finished
path C:\DOS ***IMPORTANT*** change path back
cls clear the screen again

If you don't understand these commands, your MS-DOS reference
book has a chapter on batch files that will be a big help. The
point here is that you can set up a batch file for each
application that changes drives, directories, and paths, and
takes care of any housecleaning or special needs, without messing
with SH itself.

It's important to ensure that any time you change paths, you
restore the original path before leaving the batch file. SH will
still run properly if you don't, but if you exit from the menu
and then try to rerun the program, you may have problems if DOS
can't find SH on the path.


To run SH, first make sure that it is in your current path and
that SH.TXT is in the C:\BATCH directory along with your batch
files. Then, type SH at the DOS command prompt. You'll see a
sign-on message, and a few seconds later the menu will appear.
(If you have a registered copy of SH, you won't have to sit
through the sign-on message.)

To start SH automatically when you boot your computer, include it
as the LAST command in your AUTOEXEC.BAT file.

If SH isn't able to find or properly deal with SH.TXT, you'll see
a message to that effect and the program will terminate. If you

get this message, it means that either SH.TXT isn't in the
C:\BATCH directory, or the file lines don't have the required "|"
separator between the menu text and the batch file name.

If you get the menu display you want, test out your batch files
and if everything works as expected, you're in business.

One of the conscious design goals of SH is that it DOESN'T try to
do everything. I've used, and hated, a number of the supposed
"easy" tools to bypass the DOS command line. To me, they all
seemed overly complicated and made doing simple DOS tasks, or
running an application not on the menu, too complex. SH was
designed to make it easy to run the programs you use every day,
while still leaving ready access to the DOS prompt to execute DOS
functions or run a new program.

To exit SH and return to the DOS prompt, just press the asterisk
key (either shift-8 on the top row of the keyboard, or the grey
asterisk key at the lower right -- I find that one much easier to
use). You'll be back at the DOS prompt, in your root directory.
To get back to the menu, just type SH again (if you've done good
and kept SH on your current path).

Some programs offer you the opportunity to run DOS from within
the program. SH doesn't, mainly because it takes four keystrokes
(the word "exit") to get out of DOS and back to your program, but
only two to type SH. Additionally, running DOS from within a
program takes a chunk of memory that you may not want to give up
-- but when you "*" out of SH, you're back in the original DOS,
without any memory drain.


To make SH work well, and to make the maintenance of your hard
disk much easier in general, I strongly recommend that you set
up your disk's directory structure as follows.

First, the ONLY programs in the root directory should be the ones
absolutely necessary to make the computer run. Usually, this
means that COMMAND.COM, AUTOEXEC.BAT and CONFIG.SYS are the only
programs that should be in the root directory. The remainder of
the entries in the root directory should be directories.

I create a directory called \DOS which contains all the MS-DOS
files, as well as all the utility programs I want to keep on the
hard disk, including SH. I also create a directory called \BATCH
for SH to use; as noted above, that directory contains the SH.TXT
file and the batch files to be executed by SH.

Each major application on the disk has its own directory, and,
where practical, the data files for each application have their
own directory as well.

For example, I have a directory called \WP which contains my Word
Perfect application files, and another directory called \WPFILES

which contains my word processing documents. As shown in the
example above, when I run Word Perfect I change directories to
\WPFILES, and change my path statement so DOS can find the Word
Perfect application files (I also configure WP itself so that it
knows where to look for its auxiliary files).

Setting things up this way makes life a lot easier when you want
to backup, review or purge files. If you have a large hard disk
with multiple partitions (you have a D, E, or even an F drive),
an even better approach is to put all your application files in
one partition and your data files in another. For example, you
might put your applications on drive C and your data on drive D.

Then, when it's time to make a backup, you can simply copy
everything on D and not worry about copying the programs on C
(since you already have a backup of your master disks, don't you?
Don't you???).


Remember, SH is NOT in the public domain. It's a commercial
program being distributed via the Shareware concept. You are
licensed to use this program for your own use, and at your own


If you use this program for more than a 21 day evaluation period,
you MUST register with me and pay a fee of $15.00 for each copy
of the program you use. If you use SH on multiple computers, you
must register one copy for each computer. Contact me for
information about site licenses and multiple copy licenses at
substantial discounts.

When you register with me, you'll receive a new copy of SH that
doesn't have any start-up delay.


You are free to, and in fact are encouraged to, distribute SH
either on disk or electronically, as long as SH.EXE, SH.DOC, and
README.NOW are included together and no more than the reasonable
cost of duplication and distribution is charged. $7.00 is
considered to be a reasonable charge.

Additionally, if you describe or promote SH in any publication or
advertisement for software distribution, the copy must clearly

indicate that SH is not in the public domain, and that a fee is
charged for certain types of use.


SH is distributed on an AS-IS basis, and UNDER NO CIRCUMSTANCES

Please direct registrations, comments and suggestions to:

John R. Ackermann, Jr.
2790 Swigert Road
Dayton, OH 45440
CompuServe 72300,1160

Thanks for your support!

 December 24, 2017  Add comments

Leave a Reply