DVP Utilities 4 Netware
The following utilities have been created to solve specific problems
that I have encountered during the administration of a Netware(3.11)
LAN. These Utilities are very often small and are designed to
accomplish a specific task.
These utilities may be freely distributed as long as proper credit is
given, this documentation is included, and no charges other than
acceptable distribution charges (ie: floppy costs, download costs,
etc...) are made. Please do not modify the documentation or programs
in any way.
This software is FREE.
Philosophically I wish to help others who have the same Netware
Administration problems I do. Specifically, a large network to
support, and very little budget. I have used many other authors'
Shareware and Freeware. I wish to give back to the community that
has spawned so much Inexpensive or Free software.
Remember: you get what you pay for. Most of these utilities are
version 1.0 and will remain as such for a long time. I cannot offer
any support at this time because my employer has already been
gracious enough to allow me to release this software into the public
domain. They would not appreciate me spending their time and
resources on anything other than the work they expect from me. For
this reason I cannot offer any support of this software. Although I
would be happy to get suggestions and bug reports.
USE THIS SOFTWARE AT YOUR OWN RISK!
I make no warranty expressed or implied as to the usability of this
software for any reason or purpose. I am not responsible for any
damages incurred or unmet expectations resulted by the use of these
utilities. Most of these utilities are simple and have not been
extensively tested (Although I use them quite extensively). I can
only be sure that they work in my specific environment.
Below is a description of each utility, it's purpose, and supporting
information on how to use the utility.
I sincerely hope that you will find these utilities useful.
David V. Porco
Client/Server Systems Spclst, Sr.
NETLOGN.EXE
Version 1.0
This program was written as a full-screen front end to the Novell
Netware 3.11 LOGIN program. This program expects the Netware LOGIN
program to be called LOGINX. This is to avoid conflicts with any
other third party login program that you may have renamed to LOGIN.
Since NETLOGN does call the Netware LOGIN program, the standard
Netware password encryption is preserved, and no change to LOGIN
scripts is necessary.
Installation
Mandatory
1. Copy NETLOGN.EXE to SYS:LOGIN
2. FLAG NETLOGN.EXE RoS
3. Copy SYS:LOGIN\LOGIN.EXE to SYS:LOGIN\LOGINX.EXE
4. FLAG LOGINX.EXE RoS
Optional
5. Put your 5 favorite servers into a file in SYS:LOGIN called
SERVERS.LST
6. If SERVERS.LST is put into SYS:PUBLIC, FLAG it as RoS.
Use
1. Change to your network drive ===> F:
2. Call the NETLOGN program =======> NETLOGN Server Userid
Calling NETLOGN with the server and userid parameters will
fill in these two fields for you.
3. If you have created a SERVERS.LST file you can highlight
the Name Of Server..... field and press INSert. This will
give you a popup window of up to 5 servers in the SERVERS.LST
file. Select the Server you want by using the up & down
arrow keys to highlight your selection, then press enter.
4. Fill in your password.
5. Press enter
Error Levels
NETLOGN returns the following error Levels.
0 Successful completion.
1 Invalid Video Mode
99 User ESCaped out of the NETLOGN program.
Info
NETLOGN is NOT a replacement for the Netware LOGIN program it is a
front end that adds some functionality, and extra features to the
LOGIN process. Please limit server names to 20 chars, User Id's to
20 chars and passwords to 14 chars. This is a self imposed
limitation and could be changed if there was great enough desire.
Problems
In order to make NETLOGN simple it is coded to search only in
the current directory, and search path for its files. Therefore
to avoid most problems:
1. Make sure you are in SYS:LOGIN when you call NETLOGN.
IE: C:\> F:
F:LOGIN> NETLOGN Server Userid
Do not call NETLOGN this way:
C:\> F:\LOGIN\NETLOGN Server Userid
2. You can Place your SERVERS.LST file in SYS:LOGIN if you want
the same list for everyone. If you want each user to have
their own list of servers, you may allow them to have a
SERVERS.LST file in any directory in their search PATH.
====================================================================
LOGMSG.EXE
Version 1.0
The LOGMSG program was designed to display a logon message. It is
run from the SYSTEM LOGIN SCRIPT. The file that is displayed must be
called MESSAGE.FIL and can be anywhere in the users search
path(including the mapped Netware drives). I recommend putting this
file in SYS:PUBLIC.
LOGMSG can be called with the following arguments:
LOGMSG (White foreground Black background)
LOGMSG /red (White foreground Red background)
LOGMSG /blue (Yello foreground Blue background)
LOGMSG /aqua (Yello foreground Aqua background)
LOGMSG /white (Blue foreground White background)
The following special control statements can go in the MESSAGE.FIL
(Besides the actual message of course) to customize the color scheme
of the login message. All control statements must start in column 1.
/red (Change foreground color to red)
/blue (Change foreground color to blue)
/aqua (Change foreground color to aqua)
/white (Change foreground color to white)
/yellow (Change foreground color to yellow)
/black (Change foreground color to black)
Installation
Mandatory
1. Copy LOGMSG.EXE to SYS:PUBLIC
2. FLAG LOGMSG.EXE RoS
3. Create a file called MESSAGE.FIL in SYS:PUBLIC
4. FLAG MESSAGE.FIL RoS
5. Edit the SYSTEM LOGIN SCRIPT to execute the following line:
#SYS:PUBLIC\LOGMSG.EXE /color_option
Optional
6. Edit the MESSAGE.FIL to change colors of sections of the
message
====================================================================
HPXRXANS.EXE
Version 1.0
This program is designed to take an input file and convert it to
Hewlett Packard LaserJet III or IV format. It is specifically
designed to allow Cross-Platform printing from an IBM mainframe.
HPXRXANS can be called with the following arguments:
HPXRXANS file.ext - Input: file.ext, Output: PRINT.OUT
HPXRXANS file.ext /p - Print output to device PRN
HPXRXANS file.ext /k - Keep input file(s) (Default).
HPXRXANS file.ext /d - Delete input file(s).
Input:
The input file may contain ANSII control sequences (common on IBM
mainframe print files) or a subset of Xerox UDK commands. The ANSII
control sequences that are supported are:
1 in column 1 - Skip to Channel 1 (Top of form).
in column 1 - Space 1 line.
0 in column 1 - Space 2 lines.
- in column 1 - Space 3 lines.
+ in column 1 - Suppress space, do carriage return only.
The Xerox UDK type commands that are supported are:
^u - Begin underlining
^w - Stop underlining
^b - Begin bolding
^p - Stop bolding
Some special commands that I have added are:
^! = Start Twelve Pitch (Ten Point).
^@ = Start Ten Pitch (Twelve point).
^# = Start Italics.
^$ = Start Upright solid.
^% = Start Eight Pitch (14 Point).
^: = Start Six Pitch (16 Point).
In addition any HP LaserJet command can be put into an input file. The
<esc> used in HPLJ commands is substituted by a ^. So an HP command
such as: <esc>&0l would be represented in the input file as: ^&0l
NOTE: The ^ is a "logical not" or Shift-6.
Stuff:
Many transports do not support files greater that 80 charactors. To get
around this pesky problem, HPXRXANS will interpret a ^- in columns 75 and
76 as a "continuation" and the line following will be appended to the
current line.
Return Codes:
HPXRXANS will return the following ERRORLEVEL on completion:
0 - No problems.
1 - No Matching file(s) found.
2 - Could not locate Input file.
3 - No Input file name was specified.
Uses:
This program was specifically designed to allow OVVM users (OVVM is an
IBM mainframe based Office System) to print to the many HP Laserjet
printers connected to a Netware LAN. The way this is accomplished is:
1) The Printer "exit" on the mainframe takes a print file and ensures
that all IBM carriage control commands are converted to ANSII
carriage control commands.
2) The print file is packaged into an SMTP message and sent to the
Netware Lan as a "Mail Message" via TCP/IP.
3) The mail message is received by the Netware server (specifically
by the MERCURY.NLM SMTP gateway <written by David Harris>).
4) An IBM XT logged in to the LAN checks every 5 seconds for any
mail messages. When it sees the mail message, it runs HPXRXANS
which converts the mail message into an HP Laserjet print file.
5) The IBM XT then executes the Netware NPRINT command to sent the
newly created HPLJ file to a specific Netware Print queue.
HPXRXANS can be used in this manner or in a multitude of ways to allow
mainframe users to access the various fonts and capabilities of the HPLJ.
************************************************************************
I'd like to publicly acknowledge David Harris for creating his fantastic
(and FREE) Netware SMTP gateway called MERCURY. I have used MERCURY
extensively as a common transport between computer systems to allow many
types of cross-platform functionality.
************************************************************************
========================================================================
MSGSRV.EXE
Version 1.0
MSGSRV was designed to allow mainframe based programs and users to issue
broadcast messages to Netware LAN users.
MSGSRV has the following arguments:
MSGSRV file.ext - Name of the input file (Wildcards allowed)
MSGSRV file.ext /d - Delete input file(s) after processing.
MSGSRV file.ext /k - Keep input file(s) after processing (Default).
It takes as input, a file which contains:
1) A text message.
2) A list of Netware LAN Userids.
Input:
The input file has the following format:
:MESG=Message to be sent to LAN users(s)
:USER=userid1
:SEND
:USER=userid2
:SEND
:USER=userid3
:SEND
Return Codes:
MSGSRV will return the following ERRORLEVEL on completion:
0 - No problems.
1 - No Matching file(s) found.
2 - Could not locate Input file.
3 - No Input file name was specified.
Uses:
This program was specifically designed to allow Mainframe users and
service programs to issue broadcast message to users logged in to a
Netware LAN. MSGSRV will scan every server it is currently logged in to
for the userid specified in the :USER= setting. If a user is logged in
to more than one server MSGSRV will only issue the message to the first
Server it finds the user logged in to. The search sequence for the
Servers will be the NETX Shell connection table on the PC that MSGSRV is
run from. The way this is accomplished is:
1) A message control file is created on the mainframe. It is packaged
into an SMTP message and sent to the Netware Lan as a "Mail Message"
via TCP/IP.
2) The mail message is received by the Netware server (specifically
by the MERCURY.NLM SMTP gateway <Written by David Harris>).
3) An IBM XT logged in to the LAN checks every 5 seconds for any
mail messages. When it sees the mail message, it runs MSGSRV
which reads the mail message and uses the control statements inside of
the mail message to issue broadcast messages to various LAN users.
====================================================================
AMILOGDN.EXE
Version 1.2
This program is designed to complement the Netware WHOAMI program. The
Netware WHOAMI program displays on the users screen, the Server(s) they
are logged in to. The userid(s), The Netware version and number of users
the license supports, their connection number(s), and their login date
and time. The WHOMI.EXE simply gives the users Server(s) and Userid(s).
The /c flag can be used to display in addition, the Connection number,
Network number, and Ethernet card address.
The /t flag can be used to display the time the user logged in.
The /o flag can be used to display the users object ID.
The /m flag can be used to display the users mail directory.
AMILOGDN can also narrow the query to a specific Userid or Server
using the /n or /s parameters.
To make AMILOGDN simply return the ERRORLEVELS but issue no messages to
the screen, use the /q parameter.
Use
AMILOGDN Will display:
You are user xxxxxxxx attached to server xxxxxxxx
AMILOGDN /c Will display:
You are user xxxxxxxx attached to server xxxxxxxx
Connection: nn - Ethernet Address: nnnnnnnn:nnnnnnnnnnnn
AMILOGDN /uDAVIDV
Will check if you are logged in to ANY server as user DAVIDV
AMILOGDN /sSERVER1
Will check to see if you are logged in to SERVER1 as ANY userid.
AMILOGDN /q
Will return only the ERRORLEVELS (No messages). This is useful for Batch
file programming.
Return Codes
The following return codes are issued by AMILOGDN:
0 = All went Well.
1 = You are not logged in to the Specified Server or Userid
99 = You are not logged in at all.
Installation
1. Copy AMILOGDN.EXE to SYS:LOGIN
2. FLAG AMILOGDN.EXE RoS
========================================================================
FORCEM.EXE
Version 1.0
FORCEM was designed to clear connections of inactive logged in users
after hours. I could not locate any utilities that would allow
interaction between the force program and the user. Thus this utility
was created. This utility is run from a workstation. preferably from a
DOS based scheduling machine. The scheduler would run the program which
notifies the users that they will be forced off of the LAN unless they
type IAMHERE. If the user types IAMHERE they will not receive any more
messages, and their connection will not be cleared.
FORCEM will keep a log called CONSOLE.FIL in the subdirectory that it is
run from.
FORCEM will consider any user who logs in while FORCEM is running to be
an active user, and will not issue any messages to that user or clear
their connection.
FORCEM is configured via the FORCEM.CFG file, which contains the
following options:
SERVER=xxxxxxxx
SERVER=YYYYYYYY
SERVER=ZZZZZZZZ
TIMER=600
NMESSG=2
MSGTXT=Enter IAMHERE at the DOS prompt to stay logged in.
EXEMPT=SUPERVISOR
EXEMPT=ABCDEFG
EXEMPT=HIJKLMNOP
EXEMPT=QRSTUV
FILENM=F:\IAMHERE\IAMHERE.FIL
FILENM=G:\IAMHERE\IAMHERE.FIL
How the FORCEM.CFG file is used.
SERVER=
You may have up to ten SERVER= statements. These are the names of the
servers that will be processed. You must be logged in and have
supervisor privileges to process a server.
TIMER=
This option will specify the number of seconds between messages.
NMESSG=
This option will specify the number of messages to send before forcing a
user. For example: If TIMER=600 and NMESSG=2, FORCEM will send message
#1, wait 600 seconds (5 minutes), send message #2, wait another 600
seconds, then force all unanswered connections.
MSGTXT=
This is the text of the message to be displayed. It should be kept under
58 characters.
EXEMPT=
These are the Userids that are exempt from processing. These users will
not be sent any messages, and their connections will not be cleared. You
may have up to 50 exempt users.
FILENM=
This option specifies the file name that contains the IAMHERE data. The
IAMHERE program is a .BAT file that does a:
WHOAMI (or AMILOGDN) >> filen.xxx
This will put the message:
You are user xxxxxxxx attached to server yyyy
into the filen.xxx file. If the users workstation has F: mapped to
SERVER1\SYS: then AMILOGDN >> F:\IAMHERE\IAMHERE.FIL will put the
message into the IAMHERE.FIL in subdirectory IAMHERE on SERVER1. The
FORCEM program must know where to look for this information. To do this
the workstation that is running FORCEM must also be logged in to SERVER1
and map a drive to it. For example, the FORCEM workstation may be logged
in as SUPERVISOR and map J:=SERVER1\SYS: the FILENM= statement would look
like this:
FILENM=J:\IAMHERE\IAMHERE.FIL
Installation
Mandatory
1. Copy FORCEM.EXE to the DOS scheduler workstation.
2. Create a customized FORCEM.CFG file
3. Copy the IAMHERE.BAT file to SYS:PUBLIC
4. FLAG IAMHERE.BAT RoS
Optional
5. Copy COLRWIND.EXE to SYS:PUBLIC and FLAG RoS
6. COPY IAMHERE.DOC to SYS:PUBLIC and FLAG RoS
7. COPY ANYKEY.DOC to SYS:PUBLIC and FLAG RoS
Note: These files create a nice fullscreen message for the user.
The COLRWIND program simply colors a window on the screen
and display a text file in that window. Below is an example
of an IAMHERE.BAT file that uses this utility.
IAMHERE.BAT
Echo off
CLS
Whoami >> F:\IAMHERE\IAMHERE.FIL
colrwind 13 10 48 5 119
colrwind 15 9 48 5 49 f:\public\iamhere.doc
colrwind 25 24 30 1 15 anykey.doc
Pause > NUL
CLS
====================================================================
SENDALL.EXE
Version 1.0
The SENDALL program is designed to send a message to all of the users on
all Servers that you are logged in to. This is very useful in getting
messages out to everyone quickly. It is designed to complement the
Netware SEND command. The Netware SEND command is much more flexible in
being able to send to certain groups and certain servers, but can be
cumbersome to send everyone a message.
The Netware Send command also sends the Userid and Connection number of
the person who sent the message. This can waste precious message space.
The SENDALL command does not do this and thus can support messages up to
58 bytes in length.
To run this program simply enter:
SENDALL message text to be sent to all users.
Installation
1. Copy the SENDALL.EXE file to SYS:SYSTEM. This is to avoid
general use of this utility. Please note: This utility will
not show who sent the message, and should be used only by the
LAN administrator.
2. FLAG SENDALL.EXE RoS
====================================================================
MSGALL.EXE
Version 1.0
MSGALL was designed to send messages to all users on certain severs at
specified intervals. This utility is most useful when used by an
unattended DOS based scheduling machine. Please note: This utility will
not show who sent the message, and should be used only by the LAN
administrator.
MSGALL will keep a log called CONSOLE.FIL in the subdirectory that it is
run from.
MSGALL is configured via the MSGALL.CFG file. Which contains the
following options:
SERVER=xxxxxxxx
SERVER=YYYYYYYY
SERVER=ZZZZZZZZ
TIMER=600
NMESSG=2
MSGTXT=The system will be coming down at 6 for maintenance.
EXEMPT=SUPERVISOR
EXEMPT=ABCDEFG
EXEMPT=HIJKLMNOP
EXEMPT=QRSTUV
--------------------------------------------------------------------
How the MSGALL.CFG file is used.
SERVER=
You may have up to ten SERVER= statements. These are the names of the
servers that will be processed. You must be logged in and have operator
privileges to process a server.
TIMER=
This option will specify the number of seconds between messages.
NMESSG=
This option will specify the number of messages to send before forcing a
user. For example: If TIMER=600 and NMESSG=2, FORCEM will send message
#1, wait 600 seconds (5 minutes) then send message #2.
MSGTXT=
This is the text of the message to be displayed. It should be kept under
58 characters.
EXEMPT=
These are the Userids that are exempt from processing. These users will
not be sent any messages. You may have up to 50 exempt users.
Installation
1. Copy MSGALL.EXE to the DOS scheduler workstation.
2. Create a customized MSGALL.CFG file
=======================================================================
BROWSE.EXE
Version 1.0
The BROWSE program was designed to display files that are too large to be
viewed by most editors. This includes log files from various programs
that may have gotten too large to read with an editor, but have to be
viewed before deletion. The file to be BROWSEd is the first argument
passed to BROWSE. The file that is displayed can be anywhere in the
users search path(including the mapped Netware search drives).
BROWSE can be called with the following arguments:
BROWSE filename (White foreground Black background)
BROWSE filename /red (White foreground Red background)
BROWSE filename /blue (Yellow foreground Blue background)
BROWSE filename /aqua (Yellow foreground Aqua background)
BROWSE filename /white (Blue foreground White background)
====================================================================
Batch Enhancement Utilities.
Several Utilities have been coded by CORLAC IS to enhance .BAT file
programming. These utilities are provided to create a more interactive
.BAT programming environment.
COLRWIND.EXE
Version 1.0
This program will color a window on the screen and (optionally) place a
text file in the window. It is used to make .BAT file programs more
professional in appearance. COLORWIND is called with the following
arguments:
colrwind 13 10 48 5 119
or
colrwind 15 9 48 5 49 f:\public\iamhere.doc
The parameters are positional and are as follows.
Parameter 1: Starting column of the window.
Parameter 2: Starting line of the window.
Parameter 3: Column length of the window.
Parameter 4: Line length of the window.
Parameter 5: Attribute of the window. These are the standard IBM
Color attributes for video display. For example:
1 is Foreground blue, 2 is Foreground Green, 16 is
Background blue, 32 is Background green. The foreground
and background attributes are added together to display
one color on another. For instance a blue background
with a green foreground would be 18(16+2).
=======================================================================
KEYCHOIC.EXE
Version 1.0
This program will wait for a single key to be input. It has a built in
screen saver that will start if no key is pressed in 5 minutes.
Keychoic has only 1 argument. It is the expected key(s) to be pressed.
Keychoic will return an errorlevel based on whether any of these keys are
pressed. KEYCHOIC will also return special errorlevels if any "special"
keys are pressed. For example:
KEYCHOIC abcde
Will return errorlevel 1 if "a" is pressed, 2 if "b" is pressed, 3 if "c"
is pressed, etc... KEYCHOIC will also return the following errorlevels:
101 if <Enter> is pressed, 102 if <Esc> is pressed, 110 if <Up arrow> is
pressed 111 id <Down arrow> is pressed, 112 if <Right arrow> is pressed,
113 if <Left arrow> is pressed and 0 if none of the above keys is pressed
(Invalid key).
====================================================================
QUEUE.EXE
Version 1.0
QUEUE will copy keystrokes to the Keyboard type ahead buffer. This has
the effect of a person typing keystrokes on the keyboard. The only
argument to this program is the text to be queued to the keyboard type
ahead buffer. This can be used in .BAT files to answer a question that a
program may ask.
The ~ is used to denote <Enter> so that a response can be QUEUED with or
without an <Enter> after it.
For example, a program called PROGRAM1 may ask for a users initials
before starting. The reply could be queued to the keyboard type ahead
buffer so that the user does not have to type it in. Please Note: We do
not recommend or support the practice of putting passwords in un-
encrypted files. Please do not use the QUEUE program to queue passwords
to the keyboard type ahead buffer.
RUNPROG1.BAT
Echo off
QUEUE DVP~
PROGRAM1
---------------------
This .BAT file would copy the response "DVP" to the keyboard type ahead
buffer. When PROGRAM1 asks for the users initials, it would
automatically pull the text from the keyboard type ahead buffer.
You may also just enter QUEUE ~ to simply queue <Enter> to the Keyboard
type ahead buffer.
WAIT.EXE
Version 1.1
WAIT will simply wait a specified number of seconds, or exit if any key
is pressed. The command WAIT 10 will wait 10 seconds, and then exit.
Any key can be pressed during this time to force WAIT to exit before the
10 seconds are up. Executing WAIT with no argument will cause WAIT to
wait 5 seconds.
WAIT will also issue the following ERRORLEVELs:
ERRORLEVEL
1 = Time passed.
2 = A key was pressed.
====================================================================
GETDRIVE.EXE
Version 1.7a
GETDRIVE will map the next available network drive. It uses an Implicit
argument mechanism to determine what to do with the least amount of
input. For example: If you are not logged in to ANY Server, Getdrive
will Login and Map to the Server you are attached to (NETX Preffered
Server), Or if you want to Login to another server with the same UserId
as the Server you are currently Logged in to, you do not need to specify
the UserID (Getdrive will use your current UserId to Login to another
Server). Getdrive accepts the following arguments:
/s=Server Name
/u=Userid
/p=Userid Password (Used if logging in to a Server)
/d=Drive_Letter_To_Use (if /d= is not specified the next available
drive letter will be used)
/s=? /u=? and /p=? Will prompt the user to enter the necessary data.
/i (Display mapped drive, take no further action.)
/m (Map to user mail directory)
/mr (Map ROOT to user mail directory)
/? (Display usage of GETDRIVE)
Getdrive Returns the following ERRORLEVELS:
91=Error Logging in
92=Error Mapping Drive
93=User Not in the Bindery
94=Invalid Argument
99=Fatal Error (Couldn't find Netware Tables)
GETDRIVE will also display or Map the next available drive letter, and
will return an ERRORLEVEL of the Mapped or next available Netware drive
where: 1=A, 2=B, 3=C, Etc...
====================================================================
CCOPY.EXE
Version 1.0
CCOPY was designed to be a more informative file copy program. It has
two arguments as input. The first is the input file name, the second is
the output file name. CCOPY currently does not support wildcards.
Before CCOPY will copy the input file to the output file, it will attempt
to gain Exclusive access to the output file name. If it cannot get
exclusive access (someone has it opened) it will end with an ERRORLEVEL
99.
CCOPY will give a status of its progress (% complete) during the COPY.
Once the input file has been copied to the output file, CCOPY will
compare the two files to make sure that they are exactly the same. If
the files compare CCOPY will exit with an ERRORLEVEL 0.
To bypass the Compare feature of CCOPY use the /nv flag.
Below are the CCOPY ERRORLEVELS:
0 = COPY and COMPARE completed successfully.
99 = Could not open output file in exclusive R/W mode.
98 = Could not open input file.
97 = Cannot copy a file to itself.
96 = You must enter at least an input file name.
95 = Unable to copy due to critical error.
94 = Files do not match, difference found at byte (n).
Some .BAT tricks
Many of the utilities can be used together with .BAT files. Below I have
included some examples of how these utilities can be used together to
give a professional looking product.
WHO.BAT
This .BAT file displays what Userid(s)/Server(s) you are logged in to in
a nice windowed format. The WHOBORDR.DOC file is simply a file with
borders around it, to "frame" the display. And the ANYKEY.DOC file
simply contains the words "Press any Key to Continue" .
---------------------------------------------------------------------
Echo off
:Info
CLS
Erase C:\Whoami.fil
Erase C:\Capture.fil
AMILOGDN > C:\Whoami.fil
Capture Sh > C:\Capture.fil
CLS
colrwind 3 2 70 22 119
colrwind 5 1 70 22 79 whobordr.doc
If Not Exist C:\Whoami.fil goto Info2
colrwind 8 2 66 4 79 C:\Whoami.fil
:Info2
If Exist C:\Capture.fil goto Capdis
Echo No printer capture currently in effect... > C:\Capture.fil
:Capdis
colrwind 8 7 66 15 79 C:\Capture.fil
:Alldun
colrwind 25 24 30 1 15 anykey.doc
Pause > NUL
Erase C:\Whoami.fil
Erase C:\Capture.fil
CLS
DATETIME.BAT
This .BAT file redirects the DOS DATE and TIME output to a file and then
display it in a nice window. The QUEUE utility is used to simply press
enter at the prompts to change the DATE or TIME. Note: You could
accomplish the same goal with the statement:
ECHO. | DATE
But that wouldn't show you how the QUEUE utility works... Now would it?
Echo off
queue ~
date > date.fil
queue ~
time > time.fil
CLS
colrwind 1 2 35 3 96
colrwind 3 1 35 3 79
colrwind 5 2 31 1 79 c:\setups\date.fil
colrwind 41 2 35 3 96
colrwind 43 1 35 3 79
colrwind 45 2 31 1 79 c:\setups\time.fil
wait 20
-------------------------------------------------------------------
====================================================================
MENU4.BAT
This .BAT file really shows the power of the utilities to create a full
menu based solely on .BAT programming (and the utilities).
-------------------------------------------------------------------
Echo off
SET choic2= 8
:MenuLoop
Echo off
REM CLS
Call Mscreen4.bat
:MenuChuz
colrwind 20 %choic2% 48 1 48
keychoic nwex
if ERRORLEVEL 112 goto BadBoy
if ERRORLEVEL 111 goto Plus
if ERRORLEVEL 110 goto Minus
if ERRORLEVEL 102 goto AllDun
if ERRORLEVEL 101 goto Runme
if ERRORLEVEL 4 goto AllDun
if ERRORLEVEL 3 goto Emal
if ERRORLEVEL 2 goto WAIS
if ERRORLEVEL 1 goto NNTP
goto BadBoy
:Plus
colrwind 20 %choic2% 48 1 95
if %choic2% == 12 SET choic2= 13
if %choic2% == 11 SET choic2= 12
if %choic2% == 10 SET choic2= 12
if %choic2% == 9 SET choic2= 10
if %choic2% == 8 SET choic2= 9
if %choic2% == 13 SET choic2= 8
goto MenuChuz
:Minus
colrwind 20 %choic2% 48 1 95
if %choic2% == 8 SET choic2= 7
if %choic2% == 9 SET choic2= 8
if %choic2% == 10 SET choic2= 9
if %choic2% == 11 SET choic2= 10
if %choic2% == 12 SET choic2= 10
if %choic2% == 7 SET choic2= 12
goto MenuChuz
:Runme
if %choic2% == 8 goto NNTP
if %choic2% == 9 goto WAIS
if %choic2% == 10 goto Emal
if %choic2% == 12 goto Alldun
goto MenuLoop
:BadBoy
REM CLS
colrwind 17 9 48 5 96
colrwind 19 8 48 5 79 c:\setups\error01.doc
colrwind 0 24 80 1 14
wait 5
colrwind 0 24 80 1 0
goto MenuLoop
:NNTP
CLS
C:
CD\TBS\NEWS
QUEUE ~
NEWS
CD\SETUPS
CALL Mscreen1.Bat
goto MenuLoop
:WAIS
CLS
C:
CD\TBS\WAIS
WAIS
CD\SETUPS
CALL Mscreen1.Bat
goto MenuLoop
:Emal
CLS
M:
CD\EMAIL\PMAIL
PMAIL
C:
CD\SETUPS
CALL Mscreen1.Bat
goto MenuLoop
:AllDun
SET choic2=
MSCREEN1.BAT
Echo off
CLS
colrwind 6 3 61 21 16
colrwind 8 2 61 21 48 C:\SETUPS\dvpmenu.doc
colrwind 33 2 12 1 113
colrwind 9 21 59 1 52
MSCREEN4.BAT
Echo off
colrwind 11 6 61 13 119
colrwind 13 5 61 13 95 c:\setups\dvpmenu4.doc
colrwind 36 5 14 1 113
colrwind 14 16 59 1 80
====================================================================
DVPMENU4.DOC
╔═════════════════════╣ Internet Svc ╠══════════════════════╗
║ David V. Porco ║
║ ║
║ (N)etnews - NetNews NNTP reader ║
║ (W)AIS.... - Wide Area Information System ║
║ (E)Mail... - Pegasus E-Mail ║
║ ║
║ e(X)it..... - Exit back to primary menu ║
║ ║
║ ║
╠═══════════════════════════════════════════════════════════╣
║ Valid Choices are: n, w, e, x ║
╚═══════════════════════════════════════════════════════════╝