SmartMove - An Smart Filecopy Utility Vs. 1.0 This is a smart file management utility for selectively moving files between disks and user areas under the CP/M operating system. It is of particular use to owners of systems which include hard disks which need to be backed up periodically. Backup floppys tend to become overcrowded with files no longer current on the hard disk and the usual method of clearing up such congestion is to either erase the extinct files or to transfer them to archival backup disks, either method involving the comparison of the directories of the hard disk and the working backup disks. SmartMove accomplishes this by compiling several file directories, performing the appropriate comparisons on them and then copying only those files which meet the comparison criteria. Thus, if one wants, for instance, to delete from working backup all files on the c drive but not on the a drive, tell SmartMove "c & !a" (c and not a) and all the files which are on the c disk but not on the a disk will be copied to another disk/user area or, at your choice, deleted from the c disk altogether. SmartMove is simple to use. It is designed to be used, if desired, with a SUBMIT-type command file processor such as GSUB or MicroShell which will permit the inclusion of input to running programs within the command file. This will enable one to do extensive copy operations from multiple disk/user areas without the necessity of providing instructions via keyboard. Four command line options are available as shown below. These are given (with the leading '-') when the utility is inovked. Options: -v Verify copies (Cyclic Redundancy Check) -d Delete source copies after copying -r Report stats on disks and file sizes (no copy performed) -s Report and copy These options become global to the program and remain in effect as long as the program is running. Once the program is running it will ask for four specs prior to copying and will repeat the request (and continue to copy) until an exit is requested, either by CTL-C in response to any spec request or by entering an 'x' for the source disk/user. In the latter case, a summary of the copy operations performed will be displayed. A single '?' in response to any of the spec requests will display a help screen. Filespec: Give multiple filespecs (? and * definitely OK) to copy. Any filespec preceeded by a '!' will be EXCLUDED from the resilting copy operation. Source disk/user: Disk and user area from which to copy (x = quit). Standard ZCPR2 notation (e.g. A13:) is expected although the colon is optional. Dest. disk/user: Disk and user area to receive copies. The format is the same as the previous spec. An 'x' here will delete copies from the source d/u rather than copy them. Conditions: Format [!]d[u][:] & [!]d[u][:] (bracket args optional) D is a disk letter, u a user number, ! indicates 'not' (see the example below if this is confusing) and the obligatory & is as logically implied. Colons are optional after the d/u specs. A list of files is compiled from the logical combination of the disk/user directories specified in the 'Condition' expression and an attempt is made to copy these files from the source d/u to the destination d/u. Example: Filespec: *.* Source disk/user: c8 Dest. disk user: e0 Conditions: c8 & !a8 All files on c8: which are not also on a8: will be copied from c8: to e0:. One very useful job for SmartMove is the copying of files from one disk to another when the copying is done in steps with breaks (for whatever purpose) between file copy operations. In each copy session it is desired to copy only those files not already copied without taking the time to recopy those already copied. Normally this would involve a 'manual' comparison of the directories of the source and destination disks, however with SmartMove one could simply specify a *.* copy from disk a to disk b with a 'Condition' expression of 'a & !b'. If you have problems or question regarding this utility I will attempt to help you in as much as my time and energy allow. Please send a SAS disk and mailing envelope. Please notify me of any bugs which seem to be properties of the program rather than of your hardware or operating system. Copies of the source code for SmartMove are available for the nominal cost of $15. Lindsay Haisley 14206 Spreading Oaks Leander, TX 78641 (512) 259-1190 Thanks to Leor Zolman for the BDS C routines which make up the bulk of the code in SMARTMOV.COM. CP/M Lives!!