Copy Link
Add to Bookmark
Report

Skips Computer Miscellanea 28

  


SKIP'S COMPUTER MISCELLANEA

#28

(C) Copyright 1989 by
C. F. "Skip" Mowery, Jr.
Colonel, USAF (Ret.)
406 Van Reed Manor Drive
Brandon FL 33511
813-689-4212

"Skip's Computer Miscellanea" is copyrighted material and remains the
property of the author, who reserves all rights to its publication,
reproduction and distribution, with the following single exception: it
may be freely copied and distributed electronically via computer for
personal non-commercial use, provided that the content is not modified,
that it is not copied to or distributed on any form of print media and
that it is not copied or distributed by or for any type of business
endeavor without the prior written permission of the author.

**********

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

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

**********


4DOS, Version 2.2a

One of the Finest, Most Useful Pieces of Shareware Ever Released


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

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

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

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

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

And the beauty of it all is that, since all the commands are internal,
everything runs much faster -- commands are executed immediately.

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

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

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

Installing 4DOS:

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

There are 4 basic steps to the setup:

1. Placement of 4DOS files.

2. Modification of the Config.Sys file.

3. Modification of the Autoexec.Bat file.

4. Creation of Aliases.

Step 1:

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

Step 2:

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

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

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

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

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

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

Alternatives:

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

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

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

Step 3:

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

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

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

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

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

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

SET .BAS=C:\BIN\B.EXE

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

Important Notes for Saving Memory:

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

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

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

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

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

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

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

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

Step 4:

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

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

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

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

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

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

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

2. If the Alias definition includes a word (file name, program
name, etc.) which is the same as the Alias name, the word
should be preceded by an asterisk (*).

3. You can put multiple commands in the Alias definition but you
must separate each one with the caret symbol (^). You can
also use multiple commands in the same way from the 4DOS
command line, not just in Aliases, with the same 255-character
limit. The ability to use multiple commands at the DOS level,
combined with the History feature (see below) provides
tremendous flexibility and ease of use.

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

Below are some of the Aliases that I have in my ALIASES.LST file. Note
that they are in alphabetical order. That makes it easier to edit the
file and also makes finding an Alias definition easier.

Once installed, you don't have to remember all of your Alias names.
You can see a list of the Aliases by entering the word "ALIAS" (which
makes sense, right?), and all established Aliases will be listed on-
screen in the same order in which they were entered (the order in which
they appear in the file).

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

Sample Aliases:

ALIAS=CLS ^ *ALIAS /P

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

ARC=CLS ^ UNALIAS * ^ *ARC %& ^ *ALIAS /R C:\4DOS\ALIASES.LST

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

ARC -a TEST TEST.EXE

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

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

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

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

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

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

CW3=CD \WORKING\WORK3 ^ DIR

C=CD \

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

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

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

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

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

LIST=C:\BIN\LIST.COM

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

SCOPY=SELECT /Oe COPY (*.*)

SMOVE=SELECT /Oe MOVE [*.*]

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

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

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

WHEREHID=CLS ^ ECHO Searching for all Hidden files ... ^ HUNTATTR /H

WHEREARC=CLS ^ ECHO Searching for %1 in ARChives ^ PKFIND %1 /a

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

Temporary Aliases:

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

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

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

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

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

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

Here's a trick I learned for using HISTORY. If you have a complicated
command that you will be using regularly, first enter HISTORY /F, and
then enter the complicated command once. From then on, whenever you
want to use that command again, just press the down arrow key once and
that first command will appear (because it's at the top of the list and
you are currently at the bottom of the list). Simple, huh?

4DOS also can remember which directories you've been in and return you
to one of them. For example, if you are in the root directory, want to
move temporarily to several other directories and then return to the
root directory, here's how it works. From the root directory (or
whichever directory you want to return to later), enter PUSHD. That
puts the current directory name into a buffer in memory. Then move to
wherever you want. When you want to return to that saved directory
name, just enter POPD and -- poof! -- you're there. See the Alias
CUTBAK above for an example of the use of these commands in an Alias.

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

**********


UZK.ZIP


This program allows you to zip a program (and its related files) that
you don't use a lot, in order to save disk space, and then, via 4DOS
features, unzip and run it by just entering the program name.

The author had a good idea but apparently didn't fully understand the
flexibility of 4DOS, since UZK is a lot more complicated than just
using an Alias for this purpose. Here's an example of how I do it with
an Alias and, hence, don't need UZK:

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

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

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

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

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

**********


MURF: A THOUGHT-FOR-THE-DAY PROGRAM


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

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

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

**********


SKIPPER'S LAWS


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

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

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

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

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

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

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

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

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

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

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

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

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

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

**********


WHERE.BAT FILE


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

-- any type of file by name, with or without wildcards,
-- any file in an ARChive,
-- any files requiring backup, or
-- any hidden files.

(By the way, WHIZ is the fastest file-search program I've found.)

Here's the batch file:

CLS
GOTO %1
:IS
ECHO Searching for %2
WHIZ C:%2
GOTO END
:ARC
ECHO Searching for %2 in ARChives
PKFIND %2 /a
GOTO END
:BAK
ECHO Checking for all files on drive C requiring backup (Archive bit ON)
ECHO .
WHIZ C:*.* /ON
GOTO END
:HID
ECHO Searching for all Hidden files ...
HUNTATTR /H
:END

To use it, you simply type "WHERE" and a space, followed by either the
filespec you're searching for, the word "ARC" and a filespec, the word
"BAK", or the word "HID".

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

**********


HELPME.ZIP


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

**********


Using Communications Software Without a Modem


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

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

**********


HOW TO USE ZMODEM BATCH DOWNLOAD/UPLOAD


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

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

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

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

**********


The Last Issue?


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

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

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

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

**********


loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT