
       ----------------------------------------------------------------
       DELTREE.COM   v1.02c  04-24-2000   C. Dye   raster@highfiber.com
          Freeware.  Copyright 1998-2000, Charles Dye.  No warranty!
       ----------------------------------------------------------------

DELTREE.COM is a freeware clone of Microsoft's DELTREE.EXE, a utility for
quickly deleting files and subdirectories.  This is a dangerous program --
it can delete many things very quickly!  USE IT AT YOUR OWN RISK.  I will
not be responsible for any loss of data or damage to hardware, whether
caused by program error, programmer error, user error, or act of God.

DELTREE.COM is meant to be freely distributed, for the benefit of DOS users
everywhere.  See the section "Distribution" below for the legalities.


                               --------------
                               GENERAL SYNTAX
                               --------------

DELTREE [switches] filespec [filespec...]

  /Y    Delete specified items without prompting
  /V    Report counts and totals when finished
  /D    Display debug info

Switches may be uppercase or lowercase, and may begin with a slash or a minus
sign.  There must be at least one filespec, and there may be more than one.
Switches come before filespecs -- not after, as in most MS-DOS utilities.

Filespecs may name files, directories, or DR DOS-type list files.  You may
use wildcards; all matching files and directories will be targeted.

Files will be deleted regardless of their attributes.  Directories will be
deleted with all their contents.

A "file list" is a text file containing filespecs, one per line.  If you have
a list of items to be deleted in a file VICTIM.TXT, type DELTREE @VICTIM.TXT
(Note that the @-sign is not part of the filename, just a flag to indicate a
file list.)

Unless /Y is specified, DELTREE will prompt you before deleting each item
specified on the command line.  Press Y to delete the item indicated, N to
let it live, or Q to quit from DELTREE.  /Y prevents the prompt -- use this
switch with caution!

If /V is specified, DELTREE will report the total number of files deleted and
subdirectories removed when it finishes.  If any files were deleted, the
total of the files' sizes will also be reported in bytes and in kilobytes or
megabytes.  The fractional part of the kilobytes or megabytes may be off by
plus-or-minus one in the least significant digit.  The total size does not
take cluster size into account; the amount of disk space freed may be greater
than the size reported.


                             ------------------
                             ERRORLEVEL RETURNS
                             ------------------

               00   Success
               01   Something could not be deleted
               03   User abort (Q, control-C)
               16   General syntax, buffer overflow
               17   Not enough memory
               18   DOS 3.0 or better required
               19   Problem with list file
               20   Internal buffer overflow
               21   Error resolving directory name (dots_fix)


               ----------------------------------------------
               INCOMPATIBILITIES WITH MICROSOFT'S DELTREE.EXE
               ----------------------------------------------

This section contains technical trivia.  Most users can ignore it.

These are the known differences between Microsoft's DELTREE.EXE (I'll just
call it MS's) and my own DELTREE.COM (which I'll call "mine") :

Mine will offer an additional safety prompt if items in the root directory of
a non-removable drive are to be deleted and /Y was specified.  This is a
deliberate incompatibility with Microsoft's, inspired by a loser who posts
destructive batch files on the Internet.  There is no switch to disable this
check; you must reassemble the program if you wish to remove it.

MS's DELTREE, as far as I can tell, does no error checking at all!  According
to HELP, DELTREE returns Errorlevel 0 for success -- and there are no other
return codes.  Even if you do totally foolish things like DELTREE CLOCK$ or
removing the current directory, MS's utility reports success.  Mine will
check for failures, and print an error message if something doesn't work.
Mine also returns different documented Errorlevels.

MS's will sometimes call a directory a file.  Specifically, this happens when
you delete a directory with any attributes set.  MS's utility will still
delete the directory correctly, but this bug may confuse users.  The error
appears to have been fixed in the Win95 version of DELTREE, and I don't
emulate it in mine.

MS's does not deal gracefully with I/O redirection when /Y is not specified.
Redirecting STDOUT makes the prompts invisible, and redirecting STDIN keeps
them from working altogether.  Mine disallows I/O redirection if /Y is not
specified (maps STDIN and STDOUT back to the console for user interaction.)

Mine accepts DR DOS-style file lists.  MS's does not.  If you want to delete
a file or directory beginning with an at-sign, enclose the name in quotes:
DELTREE "@ODDNAME"  -- this syntax is legal for both MS's and mine.

MS's will try to delete character devices, and happily assume success.  Mine
will ignore device names.

MS's may display relative filenames (like "foo" or "..\subdir")  Mine will
always display absolute filenames ("c:\junk\a86\foo" or "a:\subdir")

MS's allows you to enclose switches in quotes (huh?)  So DELTREE "-Y" FOO
will delete FOO without prompting.  Mine interprets anything inside quotes as
a filename, so DELTREE "-Y" FOO will prompt you before deleting -Y and FOO.

MS's does not support /V or /D.

Mine is smaller, and has a different filename (.COM versus .EXE)  If you keep
both utilities in the same directory, typing the command DELTREE (with no
extension) will start my DELTREE instead of Microsoft's.

If you're writing a batch file that needs to be compatible with MS-DOS
DELTREE, check the following:  Don't use file lists, /V or /D.  Don't rely on
Errorlevel.  Don't redirect output unless you specify /Y.  Don't redirect
input at all.


                               --------------
                               SUNDRY CREDITS
                               --------------

This program was originally created using Eric Isaacson's shareware assembler
A86.

Tom Dalton suggested including a "defanged" version (DELTREE2.COM) in the
archive.


                                -----------
                                WHAT'S NEW?
                                -----------

1.02c   04-24-2000    4,210 bytes                              8B60E5F5  CF56

Expanded the filespec buffers to 260 bytes to handle the super-long pathnames
allowed under Windows 95/98.

1.02b   07-27-1999    4,220 bytes                              6228F0D7  5149

This release has been rewritten for NASM.  A86 is good, but it's shareware.
This change allows anybody to modify the program -- not just registered A86
users.  Fixed a trivial bug (incorrect Errorlevel when no filenames specified
on command line.)  Minor bumming.  Also, starting with this version, I will
include two binaries in the archive:  DELTREE.COM, with /Y for Microsoft
compatibility; and DELTREE2.COM, which ignores any /Y.  If you like, delete
DELTREE.COM and rename DELTREE2.COM.

1.02a   05-23-1999    4,250 bytes                              3E1DFD07  3EFE

Removes the root-safety check on removable drives.

1.02    05-19-1999    4,220 bytes                              EB86016F  FE99

Fixes a problem involving redirection of stdin under FreeDOS which could lock
the computer solid.  Some code bumming.  Renamed this documentation file from
DELTREE.DOC to DELTREE.TXT.


For a complete history, see the end of the source file DELTREE.S.


                                ------------
                                DISTRIBUTION
                                ------------

This program is licensed under the terms of the Free Software Foundation's
GNU General Public license.  You may freely distribute it under the terms of
version 2 of that License, or at your option, any later version thereof.

You should have received a copy of the GNU General Public License with this
program, as a file named COPYING.  If you did not receive a copy of the
License, one is available from:

     Free Software Foundation, Inc.
     59 Temple Place - Suite 330
     Boston, MA  02111-1307, USA

