* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * E R A Z * * * * A ZCPR3-Compatible File Erasing Utility * * * * * * by * * Terry Hazen * * 21460 Bear Creek Road * * Los Gatos, CA 95030 * * (408) 354-7188 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Latest Revision --------------- Version 1.1 - 05/06/88. See ERAZ11.HIS for revision details. ================================================================= Overview -------- ERAZ is an enhanced Z80 file erasing utility for use with ZCPR3 and CP/M 2.2 or ZRDOS. ERAZ has not been tested with CP/M 3.0. ERAZ was designed as a general purpose file erasing utility as well as a companion to the ACOPY series of file utilities. It can help reduce the ALIAS command line length required to erase groups of files with unrelated names by optionally erasing only those files that have been tagged with any combination of the file attributes F1 through F7 (erase if ANY of the selected attributes are set). For example, ERAZ can be used with the /2 option to clear a RAM disk of the files that were loaded for a specific application using ACOPY and the same /2 option (copying only files having the attribute F2 set), leaving the RAM disk with all other files intact and ready for another application to be loaded. Files may be tagged using the ZRDOS utility SFA (Set File Attributes) or a similar CP/M Public Domain utility such as DA. ERAZ also has a number of other options which are described below. ERAZ is fully ZCPR3 compatible when operating in a ZCPR3 environment, accepting both the DIR: and the DU: forms and checking the environment to obtain the maximum drive and user that will be accepted, whether it is to be operating in a quiet environment, and the name under which the program was called for Šuse in the HELP message. Errors will cause the ZCPR3 program error flag to be set. When operating in a ZRDOS environment, files in the PUBLIC areas are protected. When ERAZ operates in a non-ZCPR3 environment, the required information is obtained from internal locations, which may be patched as described below. ERAZ will not accept the DIR: form when operating in a non-ZCPR3 environment. Installation ------------ The distribution version of ERAZ is supplied with an AMPRO standard Z3ENV address of FE00H. ZCPR3.0 users with other Z3ENV locations should install ERAZ using Z3INS.COM and SYS.ENV in the normal manner. No installation is required for operation in ZCPR3.3 or non-ZCPR3 environments. For operation in a non-ZCPR3 environment, the maximum drive and user that will be accepted may be patched as described below. Syntax ------ ERAZ [dir:]afn1 [[dir:]afn2 ...] [/option(s)] To help you clear your workspace with a single command, ERAZ allows you to specify up to 16 separate ambiguous filenames on the command line. Note that each filename specified requires its own DIR: or DU: reference. However, any options also specified will be applied to ALL filenames! Whenever you include the wildcard filename mask '*.*' (unless you also specify the Inspect (/I) option), ERAZ will ask you if you want to "Erase ALL Files?" and will await a response from you before all remaining files are erased. This is to help prevent accidentally erasing all your files due to the slip of a finger. Any response except 'Y' or 'y' will cause ERAZ to abort at that point. If you do accidentally erase any files, IMMEDIATELY use an file unerase utility such as UNERAZ, UNERA, or UNERASE before performing any operations that will write any files to your disk! Disk write operations may reuse any directory entries marked as erased, and thereby make it impossible to recover your erased files. Options ------- ERAZ has a number of command line options, which must be Špreceded by the option flag character '/'. The option letters or numbers may appear in any order and may appear anywhere in the command line. Options may be combined in any combination. Options are toggled as they are read, so that an option appearing twice will cancel itself. All of the following command lines have the same meaning: A0>eraz /12q afn1 afn2 A0>eraz afn1 /1 /q /2 afn2 A0>eraz /12 afn2 /q afn1 A0>eraz /q /q afn1 /q /21 afn2 The options are: I - Inspect option. Displays each proposed erase and asks for operator approval before proceeding. The default is to automatically erase R/W files without asking. A - Erases all (both directory and system) specified files. The default is to erase directory files only. R - R/O option. Erases R/O files without asking. Normally, you are asked first. 1 - 7 options. Erases only those specified files which also have the selected combination of the F1 through the F7 attributes set. Q - Quiet option. Turns off non-error messages. Any information you should know about during the erasing process, such as error information, is still displayed. Will not erase any system or R/O files unless the A or R options are also used. When operating in a ZCPR3 environment, the Q option initial setting will automatically be set according to the state of the ZCPR3 QUIET flag. If the Q option has an initial setting of ON, the use of Q in the command line will then toggle the Q option OFF. The HELP screen will automatically display the proper meaning of the Q option. Optional ERAZ Modifications ----------------------------- ERAZ has several locations near the beginning of the program that can be patched using DDT, PATCH, ZPATCH, etc, to alter the operation of the program to suit the user. The following table lists their locations and the distribution defaults. If you are operating in a ZCPR3 environment and wish to rename the program, the name by which the program is invoked will automatically appear in the HELP message, and no patching need be Šdone. If you are primarily operating in a non-ZCPR3 environment, the program name, 'ERAZ', at location 010BH-0112H, may be patched to any desired new name, which will then appear at the proper places in the HELP message when it is called. A maximum of eight characters are available. Fill the unused character positions with space characters, as spaces in any of the eight locations will be ignored. For example, to change the name of the program from ERAZ to ERA, you may simply patch the 'Z' in 'ERAZ' to a space character (20H) and the HELP message will then display 'ERA' with no extra spaces. The option flag and the default option characters may be changed if you prefer other mnemonics. The changed characters will automatically appear in the HELP message. The options are all OFF-ON toggles. The default settings for the options may be changed from OFF (00H) to ON (0FFH) to allow, for example, always inspecting files before erasing without having to use the /I option. Note that if you then use the /I option, it will turn OFF the automatic inspection. If you change the option default settings by patching, the HELP message will automatically try to reflect these changes. Since changing some of the default option settings may change the operation of ERAZ by removing some of the built-in safety factors that help prevent overwriting important existing files by accident, caution should be exercised in changing any of the default option settings! If it is desired to eliminate ALL option choices following a given option, patch the FIRST undesired option letter or number to a 00H (for example, to eliminate the F1-F7 options, change the F1 byte at 0121H from '1' to 00H). All subsequent option choices will no longer operate. When ERAZ steps through a number of files, it may generate more than a screenful of display. To help summarize what has happened, ERAZ displays the total number of files erased on completion of the program. If you prefer not to have this display, patch location 0119H from FFH (display total number of files copied) to 00H (no display). Location Default Purpose ================================================================ 010BH 'ERAZ ' Program name (8 characters maximum) -0112H - Appears in HELP message 0114H '/' Option flag character 0115H 10H Maximum drive allowed (A=1H, P=10H) 0116H 0FH Maximum user area allowed (15D=0FH) Š 0119H ON (FFH) Display the number of files copied 011AH 10H (16D) Maximum number of filenames accepted (This value may be decreased only) 011BH 'I' Inspect option character 011CH OFF (00H) Inspect default setting 011DH 'A' Include all files character 011EH OFF (00H) Include all files default setting 011FH 'R' Erase R/O & R/W files option character 0120H OFF (00H) Erase R/O & R/W files default setting 0121H '1' F1 attribute option character 0122H OFF (00H) F1 attribute default setting 0123H '2' F2 attribute option character 0124H OFF (00H) F2 attribute default setting 0125H '3' F3 attribute option character O126H OFF (00H) F3 attribute default setting 0127H '4' F4 attribute option character 0128H OFF (00H) F4 attribute default setting 0129H '5' F5 attribute option character 012AH OFF (00H) F5 attribute default setting 012BH '6' F6 attribute option character 012CH OFF (00H) F6 attribute default setting 012DH '7' F7 attribute option character 012EH OFF (00H) F7 attribute default setting 012FH 'Q' Quiet option character 0130H OFF (00H) Quiet option default setting ================================================================