.nhy;.c;DIRS .B1 .ap Overview With the current trend in RT-11 of using logical disks (virtual units, virtual devices, subdirectories, ....), it has become apparent that it is tiresome to search for a particular file within a structure of logical disks. For example, say you have just returned from the latest DECUS conference with a whole set of logical disks: .lit DECUS.DSK / _\ / _\ / _\ / _\ DAY1.DSK DAY2.DSK / ! / ! / ! / ! / ! / ! GAME1.DSK MISC.DSK UTIL.DSK PLAY.DSK / _\ / _\ JUNK.DSK PLAY.DSK .eli;.b1 Suppose you want to find the file PLANE.SAV. You think that the file is there - somewhere. Current Methods The current method for searching subdirectories is to mount each logical disk as needed and to do a directory search on each logical disk as it is mounted. For example: .b1;.lm15;.lit .MOUNT LD SY:DECUS DK .DIR PLANE.SAV .MOUNT LD1 LD:DAY1.DSK DK .DIR PLANE.SAV . . .eli;.lm0;.b1 and due to Murphy's Law, this process will take along time due to typing errors, forgetfulness, etc. Modern Times Using RT-11 version 5, it is possible to place the program DIRS on the system volume and use it as a utility. So the aforementioned search of .DSK and .DEV files could be achieved using the commands: .b1;.lm15;.lit .MOUNT LD SY:DECUS DK .DIRS LD:PLANE.SAV ?DIRS-I-Searching LD: ?DIRS-I-Searching LD:/DAY1 ?DIRS-I-Searching LD:/DAY2 ?DIRS-I-Searching LD:/DAY1/GAME1 ?DIRS-I-Searching LD:/DAY1/MISC ?DIRS-I-Searching LD:/DAY2/UTIL ?DIRS-I-Searching LD:/DAY2/PLAY ?DIRS-I-Searching LD:/DAY1/MISC/JUNK ?DIRS-I-Searching LD:/DAY1/MISC/PLAY ?DIRS-I-No files found .eli;.lm0;.b1 Search Template Specification DIRS may be run as a normal SAV file: .b1;.lm15 _.R DIRS .br * .b1;.lm0 and it prompts for a normal CSI command line. The program accepts one output file, multiple input files and a number of options (/NEW, /PRI, /FF, /HELP, /BLOCKS, /BRIEF, /TIME, /SINGLE). Note that devices are 'sticky' so that if any device is specified, it need not be re-specified for subsequent input files. Wildcards may be used in any of the input file names (not devices) and as in the RT-11 DIRECTORY command. The following defaults apply: .b1;.lm15;.lit output file: TT: output extension: .DIR input device: DK: input file name: * input file extension: * .eli;.b1;.lm0 Examples: *SF:DUMMY = SY:.MAC,BLODGE,FUDGE. This will search SY: and all the subdirectories on SY: for any file with extension .MAC or any file with the name BLODGE (any extension) or any file with the name FUDGE and no extension. Any directory listings produced will be sent to the file SF:DUMMY.DIR *DK:/NEW[FILES] This will search DK: and all the subdirectories on DK: for all files created on the current date with any extension and listings will be sent to the console. */H[ELP] will produce a screen of information (on VT100 terminals, the screen will have been cleared). *DK:/PR[INT] will direct output to the line printer (LP:), use with /FF to append a form feed to the output. If the program is used under RT-11 version 5 (or later) as a user utility then the output file, if specified, must follow the input file specification and a space must be used to separate them so the above example could be specified as: _.DIRS SY:.MAC,BLODGE,FUDGE. SF:DUMMY Directory Listings Directory listings emulate those produced by the command: .b1;.c;_.DIR/COLUMNS:2 .b2;.lm60 Earl Chew