+=================================+ | | | HDBACK | | | +=================================+ SUMMARY The Hdback program was written to simplify the process of backing up hard- disk platters to floppy disks. This program will not work with the NDS-1 Remote Hard Disks. AVOIDS OVER-FILLING DISKETTES The program avoids ERROR 7's (DISK FULL) and ERROR 9's (DIRECTORY FULL) if NEWLY FORMATTED NON-SYSTEM disks are used as the targets for the copies, or if the DELETE switch is used to purge all of the target disk files. ALLOWS GROUPING OF FILES BY ATTRIBUTE This program also allows further discrimination of the files to be copied by allowing the file selection process to include the attributes of the file. It also allows the attributes of the source files to be modified AFTER the copy is performed. All files with the FORMAT attribute are ignored. The default is NODELETE. DEFAULT FLOPPY DRIVE The default target device is :F5:. This may be altered by using the "TO" device_list option. ============================================================================== The actions of HDBACK will be described through the following EXAMPLES: HDBACK :F0: will copy all files from :F0: to :F5: with the appropriate breaks to allow for disk changes. ------------------------------------------------------------------------------ HDBACK :F0: w1 i0 will copy all files on :F0: to :F5: which have the W (write protect) attribute set and the I (invisible) attribute reset. ------------------------------------------------------------------------------ HDBACK :F0:*.SRC w0 = 1 will copy all of the .SRC files which have the W attribute reset to :F5:. After the copy is completed, the source file's W attribute will be set. ------------------------------------------------------------------------------ HDBACK :F0:*.* to 4,5 will copy all of the files on :F0: to :F4: and when that drive is full, to :F5:. The pause to change disks will occur after :F5: is filled. ------------------------------------------------------------------------------ HDBACK :F0:*.PLM w* = 1 to 4567 will copy all .PLM files from :F0: to drives 4,5,6 and 7. Note that the W attribute is ignored during the copy selection because of the use of the wildcard. After each copy, the W attribute of the source file will be set. ============================================================================== Specifying only the device, :F#:, is equivalent to typing :F#:*.* When only a single target device is used, (e.g. the default :F5:), HDBACK will open a file name TMP.TMP on the source drive for write mode. This is necessary since ISIS does not contain a DISMOUNT command. TMP.TMP will be deleted immediately after it is created. If the DELETE switch is used, all files on the target disk will be deleted BEFORE the backup. SPECIFIES NUMBER OF DISKETTES NEEDED When HDBACK is invoked, it will search the source device's directory to determine the number to disks that will be needed. This number is then printed to the screen. HDBACK will then pause to allow the loading of the first set of target disks. Typing an while HDBACK is waiting, will cause HDBACK to return to ISIS. Typing will allow HDBACK to continue its copying. If the DELETE switch is used, all files on the target drive will be deleted before the copying continues. As HDBACK is copying the files, the filename of the current source file is listed on the screen. This will be followed by a series of one or more dots, with each dot representing 4096 characters transferred (except the last one which is between 1 and 4096, inclusive). After this, if the attributes are to be set or reset, the new attribute value will be displayed. SYNTAX: [:F#:] HDBACK filename [{attr_spec}] [ "TO" device_list ] [DELETE] where: filename = device | = device file | = file. | device = ":F" digit ":". file = name ["." ext]. name = {(digit | alpha | wildcard)}. /* up to 6 characters */ ext = {(digit | alpha | wild card)}. /* up to 3 characters */ attr_spec = "W" ("0"|"1"|"*"|"?") [ "=" ("0"|"1")] = "S" ("0"|"1"|"*"|"?") [ "=" ("0"|"1")] = "I" ("0"|"1"|"*"|"?") [ "=" ("0"|"1")]. /* each attribute may appear only once */ device_list = digit [ [","] digit ]. /* max of 4 digits */ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9". alpha = "A" .. "Z" | "a" .. "z". wildcard = "*" | "?".