Contents of the TREESURG.DOC file
The Tree Surgeon
The Tree Surgeon is designed to aid a user in identifying and
dealing with duplicate files that hard disks are prone to collect on
the many branches of the subdirectory tree of an MS-DOS or PC-DOS
system (version 2.00 or later). These duplicate files exist for many
reasons. Older programs may only deal with files in the current
subdirectory. Some programs may require data files in certain
subdirectories. Often the files involved will be copied from another
subdirectory and not deleted. Sometimes different subdirectories will
contain different versions of the same program or data. Finally
subdirectories created by copying all the files from a bootable floppy
will contain several extra copyies of files like COMMAND.COM,
AUTOEXEC.BAT, and CONFIG.SYS.
The Tree Surgeon will give you a scrollable list of all files
which have been found in two or more subdirectories. Several
operations can be performed by moving the cursor to the file or
subdirectory and typing the one character command. There are commands
for comparing like-named files and commands for "pruning" dead branches
(files) from the tree.
Tree Surgeon is invoked without any parameters, since the files to
be acted upon will be determined by reading through the subdirectories
of your hard disk. When this process is through, you will be presented
with a screen that contains several of the files involved. File names
will be the leftmost names on the screen. Under each file, two or more
subdirectories will be listed. The options available to you depend upon
whether the cursor is on a file entry or a subdirectory entry. In
addition to the commands are several scrolling keys. Scrolling enables
you to view the entries that are not currently shown on the screen as
well as to select a particular entry that is on the screen.
The PgUp and PgDn keys on your numeric keypad enable you to
either view entries that you have already passed (PgUp) or to see
entries that are beyond the current screen (PgDn). When the screen
showing duplicates first appears on your computer, it will show the
duplicate files in alphabetical order. Pressing PgDn will show you the
next page of files. Pressing PgUp will show you the previous page of
files. The arrow keys enable you to step through the files and
subdirectories one by one. The UP arrow moves the cursor up to the
previous line on the screen unless it is already at the first file on
the screen. The DOWN arrow works the same way, but moves the cursor
down through the list of files and subdirectories, scrolling when it
reaches the end of the screen. Commands for File entries:
In some cases all that you will need to determine if a file is
duplicated is to see the file size, or time and date stamp. In other
cases you might wish to compare the entire files to insure that what
you believe is a duplicate file is not really the latest version of
your new program or data. Thus two commands are supported when the
cursor is pointing to file entries. To enter the command, simply type
the first letter of the command when the cursor is pointing to the file
group you wish to investigate.
The first command is Attribute. It will temporarily display the
file attributes for each subdirectory that the file is in. The first
field will show R (for read only) S (for system file) H (for hidden) and
A (for Archived file) as appropriate for the files. Following that will
be the date and time of last update for the file, and finally the file
The second command is Compare. It will check to see if the file
sizes are the same for each pair of files. If the sizes are the same
it will compare the files, byte for byte, until the end of file or until
the files prove to be different. It will report its findings for each
pair of files and wait for any character to switch back to the
screen showing duplicates.
Commands for Subdirectory Entries:
There are currently two commands which can be invoked when the
cursor is pointing to a subdirectory entry. The first and most useful
is the Delete command. After insuring that you really meant to delete
the file, the file will be deleted. If the file happens to be marked
read-only, a second prompt will ask you to reconfirm that you wish to
delete the read-only file. The second command is Rename. When you ask
to rename a file, you will be prompted for the new name of the file.
The file will then be renamed. If a full path name is entered (i.e.
\sub1\sub2\filename.ext) the file will be renamed and moved to the new
subdirectory. After either command successfully completes, the
entry will be deleted from the screen, since a duplicate condition
no longer exists. No checking is done to see if a new duplicate exists.
This program is released into the Public Domain. Permission to
copy the program and documentation (without modifications) is freely
granted. The program or portions of it may be used in other code so
long as the copyright notice is left intact on the portion copied.
(C) Copyright 1986 Harvey W. Miller. All rights reserved.