Dec 122017
Cron Jr. Ver 2.26 - A modified DOS version of Unix's cron program scheduler. Cron Jr is a must for any Lan Manager or any programmer who needs to run programs at specific times. Runs on Lan or stand alone PC.
File CRON26.ZIP from The Programmer’s Corner in
Category Utilities for DOS and Windows Machines
Cron Jr. Ver 2.26 – A modified DOS version of Unix’s cron program scheduler. Cron Jr is a must for any Lan Manager or any programmer who needs to run programs at specific times. Runs on Lan or stand alone PC.
File Name File Size Zip Size Zip Type
CRON.EXE 33440 16404 deflated
CRONJR.SCH 740 332 deflated
EDITCRON.EXE 37028 18223 deflated
ERROR.LOG 1701 732 deflated
MANUAL.DOC 16196 5696 deflated
README.BAT 33 33 stored
README.TXT 605 330 deflated
VERSION.LOG 1684 678 deflated

Download File CRON26.ZIP Here

Contents of the README.BAT file


Contents of the README.TXT file

New.... Included is the CronJr Schedule Editor. There currently is
no manual for this utility. Run EDITCRON from the directory
containing CRONJR.SCH and the rest should be obvious.

To print out the CronJr manual, type the following command at the DOS promt.

C:\> copy manual.doc prn

To do a quick installation, type the following commands at the DOS prompt.

C:\> md cron
C:\> cd cron
C:\CRON> copy a:cron*.*
C:\CRON> cron start
C:\CRON> cronjr

Please review the ERROR.LOG file for a listing of any known compatability

Contents of the MANUAL.DOC file

New.... Included is the CronJr Schedule Editor. There currently is
no manual for this utility. Run EDITCRON from the directory
containing CRONJR.SCH and the rest should be obvious.

To print out the CronJr manual, type the following command at the DOS promt.

C:\> copy manual.doc prn

To do a quick installation, type the following commands at the DOS prompt.

C:\> md cron
C:\> cd cron
C:\CRON> copy a:cron*.*
C:\CRON> cron start
C:\CRON> cronjr

Please review the ERROR.LOG file for a listing of any known compatability

CRONJR ver 2.26


Software Shorts


MS-DOS based machine running MS-DOS 3.30 or higher.
MS-DOS versions below 3.30 may be used, but are not
recommended, since they require CRONJR to use more memory.


The reason for designing CRONJR was for lack of anything
better in the MS-DOS world. Simple but powerful programs
like cron (part of AT&T's Unix) or Sleeper (public domain
for HP's MPE) are non existent for PC's.

With more and more companies moving from mini-computers
to PC based LANs, one of the many things that has been lost
was the ability to schedule the nightly reporting and
maintenance programs needed to keep a business working during
the day.

Sure, it's possible to just write a large batch file
that will run all your programs one after another. That
solution is fine if it meets your needs. But if you need
programs to run at specific times, and especially if your
business revolves around a LAN, then this product is for you.

The solution

There are 3 methods of scheduler implementation in a DOS

Method 1

Make a background RAM resident program that will
pop up when it is time to run the tasks.

Method 2

Make a foreground program that loads the tasks as
child processes.

Method 3

Make a transient program that is only in memory
when it is needed. Therefore, all memory is
available for the task.

Faults for method 1

The last thing the world needs is another RAM
resident program to eat up memory, steal clock
cycles, and substitute custom interrupt vectors. Most
LAN users already use 20-70k for their network shell,
and even more if they are running a NETBIOS emulator.

The way most resident schedulers work is to stuff the
keyboard when it is time to execute a task. This
method can be seen in various automatic tape backup
programs. This method is unreliable since the assumption
is made that the DOS prompt is available, the command
line is clear, and the path is set.

Faults for method 2

This method requires too much memory. If you want to
run a batch file then you have to load another version
of COMMAND.COM on top of the parent scheduler.

Why method 3 is so swell

1. It is so simple. It relies heavily on two simple
operating system level batch files.

2. It is not RAM resident so it uses no memory(*).

* The dreaded asterisk - If you are using a DOS
version below 3.3 then around 23k is lost because
COMMAND.COM needs to be invoked a second time.
It is strongly recommend that DOS 3.30 or above is

How it works

1. The schedule file CRONJR.SCH is created by you. It
contains the timing parameters for the tasks to be executed.

2. The master batch file, CRONJR.BAT, is loaded from the
command line. That is your last intervention.

3. The work file, CRONWK.BAT, is deleted by CRONJR.BAT.

4. The scheduler program, CRON.EXE, is loaded and the
schedule file CRONJR.SCH is read.

5. When the time comes to execute a process CRON.EXE
dumps its scheduling information to CRONJR.JOB, writes the
CRONWK.BAT bat file and unloads from memory to return control

6. If CRONJR.BAT can find CRONWK.BAT then the CRONWK.BAT
work file is called/executed.

7. Upon completion of CRONWK.BAT, control is returned to
CRONJR.BAT which then executes CRONJR.BAT (thus ending the
original CRONJR.BAT execution) with the parameter RELOAD
which is passed to CRON.EXE in step 4, which causes the file
CRONJR.JOB to be loaded rather than the file CRONJR.SCH .

Hard to follow? Try this one. It is the remedial

A. B. C. A.


Create a directory for CRONJR, any name will do, and
copy the CRON.EXE program into the new directory. If you are
going to use CRONJR on a LAN with multiple machines running
CRONJR, then you must make a separate directory for each



Each directory must contain its own CRONJR.SCH file and
its own unique CRONJR.BAT file. A path may be set to point
to the location of CRON.EXE.

For each CRONJR directory created, type CRON START at
their respective DOS prompt. Such as:

F:\CRON\386>cron start

This will create the CRONJR.BAT file which is specific
to its home directory. If you type out the CRONJR.BAT file
you will understand.

Create a flat ASCII file (no tabs) named CRONJR.SCH or
edit the one on the distribution diskette. Enter one task
per line using the following format.

minute hour day_of_month month day_of_week executable parm_list


50 16 * * MOTUWETHFR f:\public\bin\killuser.EXE
0 17 * * MOTUWETHFR f:\mtn_tape\databack.bat
0 5 * * MO g:\acctng\weekly.bat
2i * * * MOTUWETHFR F:\stream\kevin.bat
* 1i * * MOTUWETHFR q:\hourly\bak2work.exe
30 12 * * WE
06 30 * * SA u:\palitape\tna2tape.exe /a q /optic

Type CRONJR at the DOS prompt and you are finished.

Field definitions

minute......: the minute of the hour you want your
schedule to execute, 0 through 59.
hour........: the hour of the day in military time,
0 through 23.
day_of_month: the day of the month 1 through 31.
month.......: the month of the year 1 through 12.
day_of_week.: the day of the week, SU MO TU WE TH FR SA.
executable..: a DOS executable string, .BAT, .EXE, and
.COM files with a maximum combined path of
64 characters. EXTENTIONS MUST BE USED!!!!!!
parm_list...: optional parameters to be passed to the executable.
Maximum of 128 characters.

Wild cards and increments

*: execute on every occurrence - not used by day_of_week .
i: execute in increments - only applies to minute and
hour. The 7th line in the example shows 2i which
means execute in 2 minute increments. In theory this
task could be executed 30 times a hour. Obviously *
must be used for every level after the first i .
Combinations of i in the minute and hour are not
allowed. The expected outcome is that only the
hour increment will be used. If 'i' is used with the
hour, then the minute should be *, otherwise
execution will occur in x hour increments, but only
on the specified minute. Thus 30 1i does not mean
execute every 90 minutes, but execute hourly on the
30th minute of the hour.

Launch time

Task checking and launching occur on the 1st second of
the minute.


Be very careful when assigning launch times. A 'feature'
of CRONJR is that it only launches tasks when CRON.EXE is
resident. Example: you have 2 tasks set to execute at 19:00,
each takes 20 minutes to run, and few tasks scheduled at
19:15. At 19:00 all 19:00 tasks are tagged for launching and
the first task will be launched at 19:00. The 2nd task will
be launched when CRON.EXE is reloaded and thus effectively
launched at 19:20.

Well it is now 19:40 and all tasks scheduled from 19:01
through 19:40 have missed their launch window.

To prevent this from happening you should do the
following. Schedule enough time between tasks. The 19:15
tasks in the example should have been set later to 20:00, or
earlier to 19:00. Had they been scheduled at 19:00 then they
would have run as part of the 19:00 launching.

Proper scheduling

The best way to debug a faulty schedule is to run
CRON.EXE instead of CRONJR.BAT, and use the F1 key to exit to
DOS and change the time. Inspect the CRONWK.BAT file that is

There is no limit to the number of tasks you can put
into the CRONJR.SCH file.

Common problems
CRONJR program is running, and exits to DOS and does nothing.
Problem: Running CRON instead of CRONJR.
Problem: Did not run CRON START in the execution directory.

CRONJR does not execute the programs listed in CRONJR.SCH
Problem: Could not find the programs. Need to specify the
path in the CRONJR.SCH file or verify that programs
are in the current directory.
Problem: You did not specify .BAT, .EXE, or .COM .
Problem: Your scheduling parameters are incorrect. Most
likely day_of_the_week not included. I.e. You
are testing on Saturday a job you have set up
to run Monday through Friday.

CRONJR playes this obnoxious fight song when it executes.
Problem: Running the evaluation version.

The competition

It was mentioned earlier that there are no programs
available similar to CRONJR. Well that is no longer true.
There is a product called PS-Batch from Brightwork Development.
Its list price is around $595.00, it must be licensed per
file server, it uses about 40k of memory and it is limited
to Netware. CRONJR on the other hand is available for
$35.00, licensing is per site - not batch station or server,
it uses 0k of memory and will work on ANY LAN or stand alone

I am sure PS-Batch is a fine product and has many more
features than CRONJR. Many of these features were purposely
designed out of the original versions of CRONJR.

Anomalies and hints

There are two known anomalies and one other point that you
need to remember.

Anomaly 1. Cronjr only executes tasks on the 1st second
of the minute. Example. If you had 3 tasks that each take 5
seconds to complete, and they are all scheduled to launch at
19:00 then they will be effectively launched at 19:00, 19:01
and 19:02. This feature was designed into the product.

Anomaly 2. Anomaly 2 arises out of anomaly 1. Example.
If you set up a schedule that has 3 jobs, each set to run in
increments of 10 minutes (10i * * * ...), you would assume
that they would execute at the 10, 20, 30, 40, 50, 00 minute
clock demarcations (assuming that the first launch minute was
hh:00) and always launch one after the other. In reality this
is not true.

The first launching schedule would look like this.

1a. Job #1 launches at the first available minute.

2a. Job #2 launches at the first available minute
after Job #1 completes.

3a. Job #3 launches at first available minute after Job
#2 completes.

The second and subsequent launchings might look like

1b. Job #1 launches 10 minutes after its's first
launching or at the first available minute after
Job #3 finishes or it may launch the first available
minute after Job #1 if Job #1 takes more than 10

2b. and 3b. Who knows.

The best way to get around this confusion is to do one
of three things.

1. Carefully plan and test your incremental launchings.

2. Rather than make your launchings incremental, make
them minute specific. This may involve multiple line entries
into the CRONJR.SCH file for he same job at different times.

3. Make Jobs 1, 2 and 3 one job.

The one thing you must remember. The CRONJR.SCH file is
only loaded at the initial load time. If you are running
CRONJR on a LAN and CRONJR is running on a remote machine and
you modify the remote machine's CRONJR.SCH file, the remote
CRONJR will not reflect any of the changes made in the new
CRONJR.SCH file until the remote CRONJR is aborted and

Getting legal

Software Shorts hereby disclaims all warranties relating
to this software, whether expressed or implied, including
without limitation any implied warranties of merchantability
or fitness for a particular purpose. Software Shorts will
not be liable for any special, incidental, consequential,
indirect or similar damages due to loss of data or any other
reason, even if Software Shorts or an agent of Software
Shorts has been advised of the possibility of such damages.
Software Shorts will not be liable for any damages due to
malicious third party augmentation of the executable program.
In no event shall Software Shorts's liability for any damages
ever exceed the price paid for the license to use software,
regardless of the form of the claim. The person using the
software bears all risk as to the quality and performance of
the software.


Unix, cron and AT&T are registered trademarks of American
Telephone and Telegraph Corporation.
MPE and HP are copyrights of Hewlett Packard Company.
Sleeper is available through INTEREX
MS-DOS is a registered trademarks of Microsoft Corporation.
NetWare is a registered trademark of Novell Incorporated
PS-Batch is a trademark of Brightwork Development Incorporated

Software Shorts is not affiliated with any of the above
mentioned companies.

Technical Support

Questions can be sent to CompuServe ID 70731,2507

One last word

Software Shorts is dedicated to the creation and
dissemination of short, single focus, utility programs for
programmers. Hence the name Software Shorts. In the
tradition of true software geeks, Software Shorts believes
utility programs should be inexpensive, if not free, and in
the hands of as many people as possible. However, Software
Shorts utility programs may not be distributed by any
individual or corporation as part of a commercial software
release, unless the utility has been licensed to that
individual or corporation for such distribution.

The first version of CRONJR was released in November of
1988. It has also been in constant use since that time, with
it now being August 1991.

 December 12, 2017  Add comments

Leave a Reply