home *** CD-ROM | disk | FTP | other *** search
- Date: Saturday, 2 February 1985 19:10-MST
- From: Ruben Ramirez-Mitchell <ruben@ut-ngp.uucp>
- To: net.micro.cpm
- Re: Example of simple Microshell script.
-
- Somebody asked me for an example of microshell scripts, the following
- includes a few of the commands and does not make use of any of the
- microtools. What I needed is a script to make the output of 'SD
- $SDALNP' more readable. I needed to set the printer margins,etc; form
- feed in between drive listings, I wanted the date, and the option to
- specify system and library files.
-
- I 'FILTER'ed the file to eliminate control chars (like ESC G4, ESC G8,
- ESC [ 1;96s, etc I use for my Televideo 950 and Qantex printer).
-
- The script is in a file called 'hdisk.shl' and it is invoked by the
- name 'hdisk <parameters>'
-
- :--------------------------------------------------------------------
- : PROGRAM hdisk
- : USAGE hdisk [options]
- : <option>: <all| d1 [d2 [d3 [d4]]]>
- : DESCRIPTION Print hard disk directories using 'SD' with parameters
- : '$APN' (all users, print, no pause)
- : EXAMPLES hdisk all
- : hdisk b a d
- :----------------------------------------------------------------------
- %B$ = ""
- %#args %A
- %if %A LT 1 then goto help
- %printdir
- %erase
- %print
- %print " G4 ----HARD DISK DIRECTORY-----G0 "
- %print " G4 ALL USER AREAS G0 "
- %print ;%print
- %print " G4 FILE SPECIFICATION G0 "
- %print " G8 <CR> for '*.*' G0 "
- %print " G8 (e.g. asm*.?q?) G0 "
- %print " G8 G0 "
- %print
- %print -n " G8 FILES: G0 "
- %getstr %E$ <con: ; %upcase %E$
- %if %E$ NE "" then goto checksys ; %E$ = "*.* "
- %checksys
- %print; %print
- %print -n " G8 SYSTEM FILES (Y/N): G0 "
- %getstr %8 <con: ; %upcase %8
- %if %8 = "Y" then goto setsys
- %8 = ""
- %checklib
- %print; %print
- %print -n " G8 LIBRARY FILES (Y/N): G0 "
- %getstr %9 <con: ; %upcase %9
- %if %9 = "Y" then goto setlib
- %9 = ""
- %checkdate
- %print; %print
- %print -n " G8 DATE: G0 "
- %getstr %B$ <con: ; %upcase %B$
- : BUILD PARAMETER LIST FOR SD.COM
- %D$ = " $ANP"
- %D$ = %D$ + %8 + %9
- %15 = %E$
- : CHECK IF ALL DRIVES SPECIFIED
- %C$ = %1
- %upcase %C$
- %if %C$ = "ALL" then goto alldisks
- : MESSAGE BEFORE PRINTING
- %print; %print
- %print " G4 Turn Printer ON LINE G0"
- %print " G4 SET to TOP-OF-FORM G0"
- %print; %print
- %print -n " G8 Press any key to continue: G0 "
- %getchr %A$ <con:; %erase; %print
- : RESET QUANTEX PRINTER TO DEFAULTS
- : / LEFT MARGIN 8 / TOP_MARGIN 5 / BOTTOM_MARGIN 6 + PADDING
- %P$ = " [5;60r [8;96s "
- %print -n %P$ > lst:; %print >lst:
- : PRINT HEADING AND DATE
- %print " ==== Q540 - HARD DISK DIRECTORY ======">lst:
- %print -n " " >lst:
- %print %B$ >lst: ; %print > lst:
- : PRINT DIRECTORY WITH THE SELECTED OPTIONS
- %loop
- %15 = %E$ + %D$
- SD $1:$15
- %print "" > lst:
- %shift
- %A = %A - 1
- %if %A GT 0 then goto loop
- %erase
- %print
- %print " G4 ---HARD DISK DIRECTORIES PRINTED---- G0"
- : RESET THE PRINTER TO DEFAULTS
- %print -n "c" > lst:
- %exit
- %alldisks
- %A = 5
- %1=A ; %2=B ; %3=C ; %4=D ; %5=E
- %goto loop
- %help
- %erase
- %print
- %print " NAME: hdisk
- %print
- %print " DESCRIPTION: Print contents of hard disk, all user"
- %print " areas. Prompts for a) a file mask, b) "
- %print " the inclusion of system and library "
- %print " files and c) for the current date "
- %print
- %print " USAGE: Hdisk [<option>]"
- %print " <option>: 'all' | d1 [d2 [d3 [d4]]]"
- %print
- %print " EXAMPLES: hdisk all"
- %print " hdisk d a c"
- %print
- %print " NOTES: Drives scanned under the 'all' option:"
- %print " A:, B:, C:, D:, and E: "
- %print
- %exit
- %setsys
- %8 = "S"
- %goto checklib
- %setlib
- %9 = "L"
- %goto checkdate
-