Contents of the COPYTREE.DOC file
COPYTREE - Copy files/subdirectories with options.
Copyright (C) 1986 by Tridium, Inc. All Rights Reserved.
This program is distributed as SHAREWARE.
We request $10 for use of this program.
Please send a check or money order to:
New York, NY 10002
CopyTree package consists of two programs. CT.EXE and ST.EXE. Both of these
are useful when backing up or transferring large volumes of disk files, as
well as for the less critical copy operations.
Because of the many options and protection features built into this package,
it is ideal for management of big projects, and distribution and exchange of
IBM PC/XT/AT compatible files.
The program is designed to work on all IBM PC family computers, including
IBM AT, with or without a hard disk. It has also been tested on some close
compatibles. It requires around 30k of RAM.
Here are some of the highlights of this package:
Copies entire tree structures from source to anywhere on the
Has similar MOVE feature, allowing move of file names from one
sub-tree to another, without copying file contents.
Allows multiple wildcard patterns to specify which files are to
be copied. Also, allows 'negative' patterns, i.e. you can specify
which files are not to be included.
Allows selective copy of files that don't exist or are new versions
of the files on the destination.
Allows update copy, so that only new versions of already existing
files are copied to the destination.
Warns the user when copy will destroy a newer file with an older one,
and prompts if the operation should continue.
Can be interrupted at any time by pressing a key. Has a full featured
menu with options to skip file, quit copying, or temporarily exit to
Will copy to multiple diskettes if source does not fit on one.
Includes comprehensive display of the copy statistics as the copy
Includes a program that will display the total size of the source
files before the copy operation is started (ST - Size Tree program).
Copy Tree Program (CT.EXE)
CT [/switch]...[/switch] [source] [destination]
/GROUP- Copy files from the source(s) into one destination directory.
If /Subdir is not selected, this has no effect.
/MOVE- Move files between directories on the same device.
The file contents are not affected --
-- the names are merely moved to a different path.
/NEW- Copy only new files. Copy files that are not already
on the destination disk or are later generations.
/SUBDIR - Copy the contents of the source path, including any
subdirectories, to the corresponding subdirectories
in the destination path.
(this command may be modified by /Group option)
/UPDATE - Copy only files that are new versions of files already
existing on the destination. This is a more selective
version of /NEW option (above).
/VERIFY - Turn the DOS verify switch on during the operation.
/WIPE- Completely destroy the contents of the source files
after the copying process (for security reasons).
The files are erased and then deleted.
Warning : Use this option with care!
This is not available with the /Move option.
the path from which to copy/move files. The specification may be by
the filename, by a single wildcard pattern (* and ?), or by a list of
wildcards or filenames. If you wish to copy all of the files from the
source path, enter *.* for the filename, or just the directory name:
is equivalent to
To specify which files not to copy, precede file name (may contain
wildcards) with a single ! character. E.g.:
means to copy all files NOT matching *.EXE to drive A. If you wish,
you can specify more than one pattern. In this case, you will have to
use a list of patterns, delimited by [ ] characters. This list can be
entered anywhere where a regular pattern can be entered. For example:
CT C:\[*.DOC *.TXT] A:
is equivalent to
CT C:\*.DOC A:
CT C:\*.TXT A:
Here is a more complex example:
CT C:\SRC\[*.C *.H !OLD*.C] A:
will copy all *.C and *.H files from drive C directory SRC to drive A,
excluding any *.C file starting with OLD*.
The path to copy or move the files to. This must be a directory
or a device specification; it cannot be a file.
If /S switch is used, all of the files and subdirectories of
the source path will be copied or moved to this path.
If /M switch is used, the destination cannot be on a different
drive from the source. Move is only allowed between directories
on the same drive.
The CT program will copy any number of files and subdirectories with files
to a specified device or path. This allows moving full directories, or
just files. It should not be used to rename files, as in:
CT text.c text.bak
This will NOT work properly -- the destination cannot be a filename --
it must be a directory or a device.
If no arguments are entered, the program will display a copyright
message and prompt for the source path. At this point, you can type
in the source path, and any of the switches that you wish to include.
The program will then prompt for the destination path. At this point
you may enter the destination path and any additional options.
Options may be entered anywhere in the command line(s). They may be
abbreviated by the first letter, except for /Wipe, which must be
completely typed. Uperr or lower case is not significant.
If a directory does not already exist on the destination path, it will
be created. This makes it possible to copy entire directory structures
to anywhere in the destination path.
This should be used together with the /SUBDIR option. In all other
cases this will not have any effect. The purpose of this option is to
copy or move files from multiple subdirectories on the source to the
destination path (in the corresponding subdirectories unless /Group is
used). For example, if you wish to copy all of the *.DOC files from
your hard disk into DOCS directory on drive A: , you could use:
CT /S /L c:\*.doc a:\docs
This will go through all directories on drive C: and copy all files
matching *.DOC into DOCS directory on drive A:.
This option allows moving files from one directory to any other directory
on the same device. Only the names will change their location, the actual
contents of files will not be moved.
Copy only files that do not already exist on the destination path, or
are more recent than the ones on the destination. This saves time
when you wish to update an already existing subdirectory with new
versions of some of the files.
Note: If /Wipe is selected, then only the files copied are destroyed.
ie. files that are are older generations that match the source specification
will not be affected.
Copy all of files indicated by the source argument, including all of the
subdirectories. If the source path specified includes wildcards, only files
matching the wildcard will be copied. For example,
CT /S C:\*.DOC A:
will copy all of the files with extension .DOC in the top level of the path
as well as in the subdirectories of that path, on drive C:, to drive A:
This option is a more restrictive form of the /NEW switch. It
requests a copy of only updates to the files already existing on the
destination. This means that no files will be added to the
destination, only old ones replaced by new versions. This option,
probably, should not be used together with /MOVE command, since it
will request a move to a directory where the file already exists.
This will bring up the error menu for each file being moved, which is
probably not the desired effect.
This option request a verify to be performed as the file is copied to
the destination. This will have the same effect as the DOS VERIFY ON
command, but will last only for the duration of the copy. On exit,
the original VERIFY state will be restored (ON or OFF).
This option copies the contents of the sources files to the
destination path, erases the contents of the source files, and then
deletes them. It must be entered completely, i.e. /WIPE; /W will not
work. Before erasing the first file, the program will pause and ask
if it should continue wiping files without prompts. If the answer is
yes, the program will go on copying the rest of the files, and wiping
the sources. If No is selected, then after copying each file, the
program will pause and ask the user if the source file is to be wiped.
Note: This option is not allowed with the /Move option, since the
source file is automatically removed from the source path.
CopyTree ERROR CONDITIONS
Before each file is copied, the destination path will be checked for a
file with the same name. If a duplicate name exists in the
destination path, and is of a later date than the source file, the
program will pause, and ask the user if the file should be copied.
This makes it possible to avoid overwriting a new version of a file
with an old one. If the source file is of a later date, then it will
be copied to the destination without pausing. The same prompt will be
given if the destination file is of the same date as the source, but
the files have different sizes.
If /MOVE option is in effect, and a file is being moved to a directory
where that file already exists, an error menu (below) will be
displayed. At this point, the user can go and delete the file or
select to skip it.
If the destination device has no space left, or a key is typed while
copying, the program will stop, and display the following message
and menu of choices :
(P)ush to DOS
(S)kip this file
Entering 'C' will restart the copy on the last file that was displayed.
Entering 'P' will temporarily exit to DOS. At the DOS level you can
remove some files from the destination diskette, replace the destination
diskette, or format a new diskette. Type EXIT to return to CT.
Type 'C' to continue copying.
Entering 'S' will force CT to skip copying the last file displayed. This
may be useful if the file is too big to fit on the destination, or you
don't wish to copy it.
Entering 'Q' will stop copying, and exit to DOS (permanently). Note that
the last file displayed was not copied.
Switches starting with / can be entered anywhere on the line. The
first non-switch string encountered is assumed to be the source path,
the second is the destination path. If the destination is omitted,
the current drive and directory is assumed. Switches may be entered
by including one or more letters, except for the /WIPE switch, which
cannot be abbreviated.
When copying and moving files, CT will display each one as it is being
operated on. In addition, you will see the file size in bytes, the
date of the file creation, and the percent of remaining free space on
the destination disk. When the file is copied (or moved) you will see
the operation code displayed. If this is just a check mark, the
operation was successful. If it is a check mark followed by a word
Replaced this means there was a duplicate file on the destination that
was replaced with the source file. If the display is "Not Modified"
(with /New option) this implies the file did not need updating.
Pressing any key while the files are being copied will force the
program to stop, and process user requests (once the disk I/O for the
current file is finished). (See "Error Menu" under "ERROR CONDITIONS").
Size Tree Utility (ST.EXE)
ST program is provided for your convenience. It will enable you to
determine approximately how much space you will need on the destination
when copying sub-trees or single directories. This program is a stand -
alone program, and can be run without CT program.
ST will look under all files in the specified path, and all of the
sub-directories. This means it will provide the total size of the
entire sub-tree. This will include the same files as the ones copied
by CT program with switch /S.
ST [/switch] [path]
switch can be:
/Print- enables display of all files and directories
being scanned and included in the total.
/Files- don't look in sub-directories, just count
files on the selected path.
Again, it can be abbreviated to just the first letter: /P or /F, and
can be placed anywhere on the command line.
Path is the path on which to look for the selected files.
For a complete description of this, look under SOURCE
path description for CopyTree program (above). All of the
pattern features supported by the CT program are supported
ST /p *.EXE - This will determine total size of all *.EXE files
in the sub-tree, and display all of them on the screen.
ST !*.OBJ - Determine size of all files in the current sub-tree,
not including the object files (*.OBJ).
ST /f[*.C *.H *.DOC]/p - Determine size of all *.C, *.H and *.DOC
files in the current sub-directory. Display
all files that are included.
PLEASE READ THIS
Although these programs have been extensively tested, we cannot agree
to be held responsible for any damages that might occur due to their
If you find a bug, or something that you think is a bug, please send
us a description of the problem. Any registered user who reports a
real, and previously unreported bug will receive a free update of the
program with the bug fixed (once the update becomes available.)
Paul Kanevsky, August 1986