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 used in HPLJ commands is substituted by a ^. So an HP command such as: &0l would be represented in the input file as: ^&0l NOTE: The ^ is a "logical not" or Shift-6. 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 ). 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 send the newly created HPLJ file to a specific Netware Print queue, or if /p is specified, prints to PRN. 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. 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 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 ). 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.0 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. 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 is pressed, 102 if is pressed, 110 if is pressed 111 id is pressed, 112 if is pressed, 113 if 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 so that a response can be QUEUED with or without an 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 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.0 GETDRIVE will display all of the currently MAPped NETWARE drives just as the MAP command does. GETDRIVE will also display the next available drive letter that can be mapped, and will return an ERRORLEVEL of the next available Netware drive where: 1=A, 2=B, 3=C, Etc... This can be useful in a .BAT file to map the next drive and save the information in a DOS environment variable. ==================================================================== 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 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ