MF.EXE is a utility program that DOS forgot. Some- times you don't want to COPY a file; you want to put it some- where else without leaving a copy behind...in other words, you want to MOVE it.
As the author, I assume no liability for the use of the product. MF.EXE, all of the files in MOVE-V4.ARC, and MOVE-V4.ARC itself are provided AS IS without any warranty, expressed or implied, including but not limited to fitness for a particular purpose.
Working on any type of file allowable under DOS, it provides for moving a file (or files) from one disk to another, to different directories on the same or different disks. MF moves file bytes in large blocks while minimizing the need for memory. The target will end up the same exact size as the source. Despite the size of MF.EXE, it moves somewhat faster than COPY copies, and a lot faster than COPY followed by DEL. An option lets MF move (rename) a subdirectory of a disk, using the same flexible syntax as for a file move.
DOS does not include a `Move' utility -- a program that will place a source file at a target location without leaving behind the source file. DOS forces users to use the COPY and then the DEL (or ERASE) commands. This insures a certain amount of security against removing a (source) file when the new (target) file content is not identical to the source. Separating the COPY and DELETE procedures into two commands allows (enforces) the opportunity to check that the copying has occurred and to compare source and target content before deleting the source. However, it is extremely tedious, especially when you need to move large numbers of files.
A batch file taking parameters from the command line can be used to copy, compare and delete, but batch files cannot do much error checking. There are a number of Move utilities that overcome the shortcomings of the batch file method and allow moving files across disk directories or renaming directories on a disk. However, these `MOVE' file utilities usually either will not move a file across disks or will not rename directories.
These seemed unnecessary shortcomings; thus, MF.EXE, was written to overcome them. MF.EXE is strictly a command line utility to serve a simple purpose. It is not an all around file manager-- on the other hand, it doesn't take as long to load nor spend lots of time re-writing the screen. In other words, MF.EXE is optimized for speed.
MF.EXE would be a lot smaller if it did little or no error checking and if it did not allow the parameters to have a wide range of syntax. MF.EXE sacrifices its byte size for ease of use (but without sacrificing speed of execution).
How Does It Work?
MF.EXE will work on PCs bearing the registered IBM trademark and true compatibles. MF.EXE follows DOS COPY syntax as much as possible. The rules and flexibility of syntax are:
1) MF.EXE will accept global characters in the source filespec. Unlike DOS COPY, it will not allow global characters in the target filespec. If you use global characters in the source filespec, then no target filespec is given -- target file(s) will have the same name(s) as the source file(s);
2) if you do not specify a target the default drive, path and the source filename will be used by MF.
3) you must give a source filespec;
4) you may give a source path (which must include a \), or else the default directory of the source drive is used;
5) you may give a source drive or else the currently logged drive is used;
(Standard DOS allows up to 26 drive names, A-Z, by specifying a `last drive' with the line "LASTDRIVE=x" in your Config.sys file.) If you specify a drivespec that does not exist on your system, MF.EXE will return a syntax error message.
6) you may not give a target filespec if global charac- ters are used in the source filespec; whenever a target filespec is not given, the source filename is used by MF.EXE for the target filename;
7) if you use the /S option, source and target names can be subdirectory names, in which case the source dir
will be renamed to the target dir (this requires DOS 3.x);
8) you may give a target path, else the default directory of the target drive is used;
9) you may give a target drive (so long as it is Drive A: through Z:) or else the currently logged drive is used (if you specify a drivespec that does not exist on your system, MF will return a syntax error message);
10) MF will move Hidden files and Read-only files if you want, prompting you whenever a source or target is Hidden or read only and whenever the target file name specifies an already existing file. Target files will have the same file attributes as their source files;
11) MF.EXE does not touch system files, their special at- tribute indicating they should not be moved around except in special circumstances and then, usually, via some utility which is part of the program which the SYS belongs to. MF will tell you if you tried to move a file with a SYS attribute.
If the user violates the syntax rules, no files will be corrupted. If a true copy of the source file is not made at the target, then the program aborts with a display of correct syntax. When an error occurs due to incorrect syntax, the program aborts with a display of correct syntax.
Fortunately, unlike the DOS (2.x & 3.0) COPY command, if you use