home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
batutl
/
onboot.arc
/
ONBOOT.DOC
next >
Wrap
Text File
|
1988-08-03
|
10KB
|
218 lines
ONBOOT 1.00
-----------
Purpose
-------
ONBOOT is a simple utility designed for your AUTOEXEC.BAT. It
allows you to have AUTOEXEC run selected programs only during a
warm boot (Ctl-Alt-Del), a cold boot (power on), or the first
boot of the day. For example, placing the command "ONBOOT DAILY
CHKDSK" into AUTOEXEC will cause AUTOEXEC to run CHKDSK only
once a day, the first time the PC is turned on.
ONBOOT requires DOS 3.0 or later in DAILY mode, 2.0 or later in
WARM/COLD modes.
Use
---
Using ONBOOT is quite simple. The full command is:
onboot WARM|COLD|DAILY command [parameters]
The first parameter must be one of the three boot selectors,
"WARM", "COLD", or "DAILY":
WARM Execute the command only if this is a warm boot. A
warm boot is a "reboot", caused by pressing
Ctl-Alt-Del or, on some machines, a reset switch.
COLD Execute the command only if this is a cold boot. A
cold boot is a power-up boot, resulting from turning
the machine on.
DAILY Execute the command only if the system date has
changed since the last time ONBOOT DAILY was run.
"Command" can be any command that you would normally put into
AUTOEXEC.BAT (with minor restrictions as explained below), or it
can be another batch file. It is specified exactly as you would
specify it if you were running it directly. For example, a path
is required if the command to be executed is not in the current
directory or anywhere in the current PATH. File extensions
(COM, EXE, BAT) are not required.
Parameters to the command are also specified normally.
Examples:
onboot daily chkdsk
onboot cold ramtest full /count=3
onboot warm ramtest quick
Restrictions on commands
------------------------
ONBOOT executes the requested command by giving it to a
secondary copy of the command shell (normally COMMAND.COM) for
processing. Thus, anything you could normally execute at the
DOS prompt can be run by ONBOOT: an internal DOS command, a
program or external DOS command (COM and EXE files), or a batch
file. There are only two restrictions:
1. Because the new copy of the command shell will drag along a
new copy of the environment, commands that set or modify
environment strings will not work as you expect. Therefore,
don't use ONBOOT to execute SET, PATH, or PROMPT commands.
2. Don't use ONBOOT to execute commands or batches that will
load resident programs (TSRs). These include the obvious ones
like Sidekick, et al, as well as some DOS programs such as
PRINT, certain variants of MODE, etc.
It is difficult to imagine why you would want to load TSRs or
set strings in the environment only on certain kinds of boots,
so these restrictions should not present any real problems.
Running multiple commands DAILY
-------------------------------
You can use as many ONBOOT WARM and ONBOOT COLD commands in
AUTOEXEC as you wish. However, ONBOOT DAILY will only run once
a day, so having more than one ONBOOT DAILY command in AUTOEXEC
doesn't make sense; only the first one will ever get run.
If you want to execute more than one command DAILY, put them in
a separate batch file and execute it DAILY from AUTOEXEC. For
example:
AUTOEXEC.BAT:
...
onboot daily onceaday
...
ONCEADAY.BAT:
chkdsk
ramtest massive
otherstuff
Each day, ONBOOT will run ONCEADAY.BAT, which will then run the
three commands shown. When ONCEADAY.BAT is done, AUTOEXEC will
pick up again with the first command.
ONBOOT.EXE date stamp
---------------------
ONBOOT determines how recently it was run by the simple
expedient of looking at its own date stamp. Each time ONBOOT
DAILY is run successfully, ONBOOT updates the date stamp of the
program file, ONBOOT.EXE (this eliminates the need for a
separate data file to track dates). If the date of ONBOOT.EXE
is different from the current system date, the DAILY stuff will
get executed. If they are the same, DAILY has already run
today, and the command will not be executed.
You don't really need to know this; it's just in case you ever
wondered why ONBOOT.EXE always appears to be brand new in your
directory displays.
Memory use
----------
ONBOOT uses a bit under 2K of memory for itself. The command
procesoor uses a bit more, typically under 4K for COMMAND.COM.
Thus, the commands run by ONBOOT will have about 6K less memory
to work with than normal. ONBOOT is not resident, so it uses no
memory except when it is actually executed.
Error messages
--------------
Incorrect version of DOS
ONBOOT requires DOS 2.0 or later for WARM/COLD, and DOS 3.0
or later for DAILY.
You must supply a command to be run
You didn't give ONBOOT a command to be executed.
Can't find COMSPEC= in environment
Your environment must contain a COMSPEC statement to help
ONBOOT find the command processor. DOS does this
automatically, so it will only be missing if you have taken
specific action to eliminate it, i.e., by executing a
SET COMSPEC=
in AUTOEXEC before running ONBOOT.
Problem executing command shell
ONBOOT wasn't able to give your command to the command
processor (COMMAND.COM) for execution. Either the command
processor is missing (isn't where COMSPEC says it is) or
there isn't enough memory available.
Error opening ONBOOT.EXE for date check
ONBOOT wasn't able to locate and open the program file
ONBOOT.EXE so that it could check its date.
Unable to update timestamp on ONBOOT.EXE
ONBOOT wasn't able to change the date of ONBOOT.EXE to
today's date. DAILY commands will continue to run with
every boot until you locate the source of the problem.
Version history
---------------
1.00 08/03/88
Initial release.
Copyright/License/Warranty
--------------------------
This document and the program file ONBOOT.EXE ("the software")
are copyrighted by the author. The copyright owner hereby
licenses you to: use the software; make as many copies of the
program and documentation as you wish; give such copies to
anyone; and distribute the software and documentation via
electronic means. There is no charge for any of the above.
However, you are specifically prohibited from charging, or
requesting donations, for any such copies, however made; and
from distributing the software and/or documentation with
commercial products without prior permission. An exception is
granted to not-for-profit user's groups, which are authorized to
charge a small fee (not to exceed $7) for materials, handling,
postage, and general overhead. NO FOR-PROFIT ORGANIZATION IS
AUTHORIZED TO CHARGE ANY AMOUNT FOR DISTRIBUTION OF COPIES OF
THE SOFTWARE OR DOCUMENTATION, OR TO INCLUDE COPIES OF THE
SOFTWARE OR DOCUMENTATION WITH SALES OF THEIR OWN PRODUCTS.
THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
ANY OTHER SUCH FEE FOR THE DISTRIBUTION. NO FOR-PROFIT
ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
FOR WHICH MONEY IS CHARGED.
The software may not be included with distribution of commercial
or "shareware" software without a license from The Cove Software
Group.
No copy of the software may be distributed or given away without
this document; and this notice must not be removed.
There is no warranty of any kind, and the copyright owner is not
liable for damages of any kind. By using this free software,
you agree to this.
The software and documentation are:
Copyright (C) 1988 by
The Cove Software Group
Christopher J. Dunford
P.O. Box 1072
Columbia, Maryland 21044
(301) 992-9371
CompuServe 76703,2002 [IBMNET]