65 lines
3.0 KiB
Plaintext
65 lines
3.0 KiB
Plaintext
BAT2EXEC
|
|
|
|
Doug Boling - Volume 9, Issue 14 - August 1990
|
|
|
|
Purpose: Compile your batch files for added speed. Large batch
|
|
files often run annoyingly slowly. Compiling them with
|
|
BAT2EXEC will increase both your productivity and satisfaction.
|
|
|
|
|
|
Daily PC operations are almost unimaginable without the use of batch
|
|
files. Everyone has his favorite collection of them, and some users
|
|
have constructed complex batch files of thousands of bytes that push
|
|
the batch langauge itself to its limits. Programs that expand the
|
|
available batch file functions, such as Michael Mefford's BATCHMAN,
|
|
encourage users to make even larger batch files.
|
|
|
|
Unfortunately, however, batch files are also notoriously slow.
|
|
It can be almost painful to watch them scroll down the screen a line
|
|
at a time. A standard way to improve the speed of interpreted
|
|
programs, such as batch files, is to compile them. That's where
|
|
BAT2EXEC comes in.
|
|
|
|
USING BAT2EXEC
|
|
|
|
The full syntax for BAT2EXEC could hardly be simpler. Just enter:
|
|
|
|
BAT2EXEC FILE.BAT
|
|
|
|
where FILE.BAT is the name of your batch file. BAT2EXEC will then
|
|
produce an executable .COM file with the name FILE.COM. If BAT2EXEC
|
|
can't find the batch file, an error message will be printed. If
|
|
BAT2EXEC can't understand a line in the batch file, it will print an
|
|
error message indicating the line in the file in which it discovered
|
|
the error.
|
|
|
|
BAT2EXEC should not be used on every batch file. AUTOEXEC.BAT, for
|
|
example, must remain a genuine batch file in order for COMMAND.COM to
|
|
find it. Similarly, batch files that run terminate and stay resident
|
|
utilities (TSRs) should not be compiled. The reason for this
|
|
limitation lies in the DOS memory management structure: if a TSR is
|
|
executed from a program compiled by BAT2EXEC, the memory used by
|
|
BAT2EXEC itself will not be made available to the system after
|
|
it terminates.
|
|
|
|
Programs created by BAT2EXEC behave slightly differently from the
|
|
batch files from which they were compiled. The .COM file does not
|
|
echo each line to the screen as does the batch file, for example.
|
|
Running other batch files does not cause the .COM program to end.
|
|
Also, pressing Ctrl-Break does not present the message, "Terminate
|
|
Batch file (y/n)." If Ctrl-Break is pressed and BREAK has been set
|
|
on, the program simply terminates.
|
|
|
|
The size of the resulting .COM file is somewhat larger than
|
|
the batch file. Compiling a batch file containing a single REM
|
|
statement results in a .COM file size of 68 bytes, illustrating the
|
|
overhead of the setup and terminate routines. Program size increases
|
|
quickly as routines are added then slows as the loaded routines are
|
|
reused instead of new ones being added.
|
|
|
|
Certainly, BAT2EXEC is not suitable for use on every batch
|
|
file. Two and three line batch files are best left in their easy-to-
|
|
alter and simple-to-understand ASCII format. However, for those batch
|
|
files that have grown into long complex programs, BAT2EXEC is the
|
|
answer.
|