Dmove Version 1.1 DannySoft Inc. 166 East 96th Street New York, N.Y. 10128 212-289-1024 Dmove is available free of charge to the general public. You may not charge for its use without the written permission of the author. Feel free to freely distribute this program provided that no fee is charged for such copying and distribution, and that it is distributed ONLY in its original, unmodified state. No `shareware registration' is asked for or expected. Of course, if you want to send something anyway - well I am not crazy... Dmove is a file mover/copier. It can MOVE files and directory trees, or just copy them. Various command line switches allow you to specify which files will be copied, and how to handle duplicates and errors. Dmove was originally written to be a file mover only, but many users were so frustrated with the performance and bugs in DOS XCOPY that the '/C' copy switch was added. As long as I was at it, I added the /R replace switch as well. The first two versions of Dmove were called Cmove, but the name was changed to match the naming convention used with other programs from DannySoft. Dmove will work effectively on Local and Network drives. Unlike many versions of XCOPY and REPLACE, Dmove is not DOS version sensitive. It will work with all versions of DOS from 2.x throgh 4.x.. Below are the various command line switches you can use with Dmove, and a brief description of what they do. /E Try To Move/Copy Additional Files After An Error. By default Dmove will stop moving/copying files after the first error. This switch will tell Dmove to try to continue with other files. This switch DOES NOT cause Dmove to IGNORE errors. If you are trying to move/copy as many files as possible to a target drive, you can might want to use this switch. -I Move/Copy even if source target are identical. By default, Dmove will skip any file that has an identical twin for a target. The /Ignore switch tells Dmove to Move/Copy even though a file identical to the source file already exists in the target directory. Dmove considers any file with the same name, size, and exact date and time to be the same. -ND Fail If Destination Directory Does Not Exist. By default, Dmove will create the target directory path if it does not already exist. This switch will force Dmove to fail if the target path does not already exist. -S Search And Move/Copy From Subdirectories. This switch tells Dmove to move/copy entire directory trees. It will replicate the source path in the target directory. It will not create empty subdirectories. -C Copy Only. The default mode for Dmove is MOVE e.g.. files are MOVED from one location to another. This switch tells Dmove to COPY files. -R Replace Only - Move/Copy only if target already exists. The combination of the /C and /R switches can make Dmove a handy update utility. -D Move/Copy Only if source file is newer than target (if any). This switch tells Dmove to perform a date comparison whenever a file with the same name exists in the target path. If there is no file with the same name in the target path, Dmove will Move/Copy anyway. -U Update - Replace with newer files. This switch is really the same as /R/D. -T Retain the target path for subsequent commands. This command lets you use a bit of shorthand with Dmove. By default Dmove tries to think of each command as a "From-To" pair. The /T(arget) switch tells Dmove to keep using the last target specified. This can be handy when you are moving/copying from several different directories to a single target, or when you are moving/copying files with several specific extensions and you are running out of DOS command line room. You must separate each command with a semi-colon so that Dmove can distinguish one source from another. How Dmove Works Dmove moves files as efficiently as it can. If the source and target paths APPEAR to be on the same drive, Dmove will try to rename the source name to the target name. If that effort fails, or the source and target path do not appear to be on the same drive, Dmove will create a copy of the source file in the target path, and unless the /C(opy) switch has been specified, delete the source file. Dmove compares the source and target arguments for a drive letter, so you can force a physical copy instead of a rename if you specify a drive letter in one path argument but not the other. Dmove will delete the source directories if it is not COPYing and if the source directories are emptied. File attributes, including the read/only and system attributes will be replicated in the target file, but as a safety measure, Dmove will not operate on hidden files. A path or drive letter given as the source argument will be interpreted as all files (*.*). Examples Dmove \foo\*.* YaYa Dmove \foo YaYa - Move all files from subdirectory foo to subdirectory YaYa Dmove \foo .. - Move all files from subdirectory \Foo to the PARENT of the current directory Dmove . .. - Move all files from the current directory to the Parent of the current directory Dmove \foo YaYa /C - COPY all files from subdirectory foo to subdirectory YaYa Dmove \foo YaYa /C/S - COPY all files and subdirectories from subdirectory foo to subdirectory YaYa Dmove a: - Move all files from Drive A: to the current drive and directory Dmove \newstuff a:\ /U/C - Update A: with new files from directory \Newstuff. Copy Only Dmove C:\newstuff \newstuff\ya - Copy files from directory Newstuff to a subdirectory of Newstuff "YA", force a physical copy instead of a rename Dmove \foo; \Glue; \YoMaMa; - Move all files from directories \Foo, \Glue, and YoMaMa to the current directory Dmove a:\ /s/c Dmove a: /s/c - COPY all files and directories to the current drive and directory Dmove \zot Glot; \Pookie; \Droopie; /t - Move all files from subdirectories \Zot \Pookie and \Droopie to the subdirectory Glot