                            Unique DOS Utilities
                       (C) 1994-1995 By Bill Stewart

Revision History

Version 9.6: 03-31-95
     Added STUFF to "stuff" characters into the keyboard buffer; that is,
     it can type a series of keystrokes for you to pass to the program that
     follows in the batch file.  You can also use it as the last line of a
     batch file to enter a command that should run after the batch file is
     finished.

     PAGE has been rewritten to allow full backward and forward scrolling,
     searching, and more, with a full-screen interface.  Press H or ? for
     help inside PAGE.  For full details, see the User's Manual.

     READLN has been enhanced with a better line input editor.  See the
     manual for the keys you can use to edit the string.  The same input
     editor is available in the revamped PAGE, when it prompts for line
     numbers and search strings.

     The utilities that use quoted command line strings to define prompts
     can now display double quotation marks as a part of the string.
     Precede each double quote you want to display with a back slash (\);
     e.g. XPAUSE "Press \"Enter\" to continue." will cause XPAUSE to
     display the following prompt:  Press "Enter" to continue.

     Users can now set the DRIVES environment variable to set the drives
     that FFIND and GO should search.  For example, the DOS command SET
     DRIVES=CDEF will tell FFIND and GO that they should search those four
     drives.  The /D switch on the command line will override the DRIVES
     variable if it is set.  The best place to put a default SET DRIVES is
     in the AUTOEXEC.BAT file.

     The User's Manual, Installation Guide, and order form have been
     revised and expanded.  The pages in these files have been formatted
     with underlining capability which most printers should print properly,
     even laser printers.

Version 9.5: 02-11-95
     Added the KILL utility for overwriting and deleting files.

     Added the READLN utility to enable batch files to read entire strings
     of input.

     Updated LOGOUT's messages slightly to promote clarity.  Also changed
     the keystrokes--you have to press Esc if you want to bypass the
     five-second wait or quit LOGOUT at the end, and you have to press F10
     to reboot.  Any other keystrokes are ignored.

     Updated FFIND and GO to allow the user to specify the drives to
     search, rather than just searching all non-floppy drives (which could
     take a while if there are network drives, CD-ROM drives, etc.).

     Removed directory cluster calculations from SIZE.  These were
     sometimes inaccurate.  Also added the /C switch to cause SIZE to skip
     cluster size calculations.  This is useful for compressed drives and
     before backups.

     Fixed a subtle bug in SREBOOT that would cause it to behave oddly if
     certain characters appeared in the prompt.

     Updated the utilities to consider MS-DOS 6.22+ DriveSpace (DRVSPACE.*)
     drives the same as DoubleSpace and Stacker drives.

     Added Q to the display of the "(Y/N/R)?" prompts (now the prompt reads
     "(Y/N/R/Q)?").

     Some of the utilities now require you to press Enter after answering a
     "(Y/N)?" prompt.

     Reformatted the user's manual to use only 58 lines per page so it
     should print properly on a laser printer.

Version 9.1: 09-17-94
     Corrected an error in documentation about the GO utility.  If you
     change to a directory using GO and it wasn't the directory you wanted,
     repeating the same GO command will not change you to the next
     directory that matches.  Instead, spell out the directory more
     specifically.  For example, if you have the directories \4DOS, \DOS,
     and \DOSUTILS (sorted in that order), typing GO DOS will always change
     you to \4DOS, and GO \DOS will always change you to \DOS.  To change
     to \DOSUTILS, you could type GO DOSU.

     Fixed bugs in REDATE command-line parameter passing.  It now parses
     the command line arguments correctly.  With previous versions, REDATE
     would use the current date and time if both a second file name and the
     /P switch were specified.  This has been fixed.

Version 9.0: 09-02-94
     Added the GO directory utility.  It lets you change directories based
     on partial names and save the current directory so you can return to
     it in a batch file.

     Added the LOGOUT system shutdown utility.

     Enhanced FFIND to search all non-floppy drives (drive letters starting
     with C).

     Expanded MDEL so it is now more flexible than before.  Now it doesn't
     just delete every file seen and unseen; it will only delete files that
     are not read-only unless you specify the /R or /H switches.  (Also,
     unlike previous versions, it will let you delete essential system
     files if you specify /H--so be careful with it.)

     ONCE is now packaged with the archive in reset form.  This avoids
     problems if someone uses ONCE.EXE for the first time on the same day
     of the month the file was released.

     SWAP now displays the temporary filename it uses when it works.  It
     won't let you swap a file's name with itself.  Also, it checks to make
     sure that two filenames were entered.

     XPAUSE now has an "escape" character (\) that lets you use the !, @,
     #, and _ characters as actual keys in the key list; e.g. /K:\!\@ means
     that you can press ! or @ (! and @ don't represent Ctrl+C and Enter if
     preceded by the \ character).

     All the documentation has been rewritten, expanded, formatted and
     consolidated together into one user manual.  Simply print the file
     UNIQUE.MAN.

Version 8.3: 05-28-94
     ONCE's on-line help has been expanded with a batch example.  Help for
     the /R switch now makes more sense.  Also, it now displays a status
     message when you use /R.

     An irritating bug in SREBOOT caused it to do cold reboots when it
     shouldn't have.  This has been fixed.

     Updated the display for STAT to make it more readable.

     XPAUSE's on-line help and some places in the documentation incorrectly
     reported that the /S switch returned an ERRORLEVEL of 1 for the left
     Shift key and an ERRORLEVEL of 2 for the right Shift key.  The
     incorrect descriptions have been fixed.

Version 8.2: 05-23-94
     Fixed two minor display bugs in FFIND.

     Added the additional display of two scan codes for F11 and F12.  Some
     memory-resident programs allow you to specify the scan code for a
     "pop-up" key, and the scan codes reported by the BIOS for these keys
     are not what these programs are looking for.

     Updated REDATE to allow a specific date and time to be used.
     Corrected REDATE's help text screen (it said /N and should have said
     /P).

     SREBOOT can now detect if Microsoft Windows is active and will not
     allow you to reboot the machine if Windows is running.  Also, SREBOOT
     now implements an alternate rebooting routine if the /X switch is
     specified on the command line.  The rebooting routine used with /X is
     more compatible with various machines; however, the /C switch (if
     specified) will be ignored.

     XPAUSE's /Q switch contained a bug that caused XPAUSE to delete the
     current line of text from the screen.  This bug has been corrected.

Version 8.1: 03-05-94
     Added FFIND file finder utility.

     MDEL now prompts before deleting all files in a directory (*.*).  The
     /Y switch has been added to bypass the prompt.  Several minor display
     problems fixed.

     Two display bugs in SIZE were fixed.

     XPAUSE has the following changes:
     o    Added the /Q switch to prevent XPAUSE from displaying a prompt.

     o    Added a 0 timeout value to XPAUSE, so it could report the first
          key in the keyboard buffer (if the keyboard buffer was not
          empty).

     o    Added the underscore ("_") as the character to represent the
          Spacebar.

     o    XPAUSE now only displays the on-line help screen if the /? switch
          was the first parameter on the command line.  Previously, if the
          characters /? were together anywhere on the command line, XPAUSE
          would display the on-line help screen.

     In previous versions of the Unique Utilities, output redirection and
     screen paging did not work together correctly.  For example, a command
     such as
          size > dirlist.txt
     would work properly, but not if a key was pressed while SIZE was
     working.  If a key was pressed, SIZE would pause, and some of the data
     being redirected was lost.  Now, although the utilities cannot detect
     when data is being redirected, the redirection now works properly.

     Changed the look of the "Paused:" prompt slightly.

     Added the Q key as an "abort" key along with Ctrl+C and Esc (a handy
     feature borrowed from UNIX).  In addition, all keystrokes that do
     appear now appear in uppercase.

     Now, the utilities display the possible ERRORLEVEL values for their
     error conditions after the help information when the /? switch is
     specified.

     DDEL and SIZE would incorrectly interpret directory names with
     wildcard characters as valid.  This has been fixed.

Version 8.0: 02-19-94
     Added COLORS to display a color attribute table.

     Altered DTCLEAR slightly to create a temporary file instead of a
     directory.  This ensures that it won't try to create a file or
     directory that doesn't already exist.

     Improved DUMP's speed.

     Added subdirectory searching and the ability to delete only
     zero-length files to MDEL.  It also displays how much total disk space
     it freed.

     ONCE's on-line help message is now much clearer.

     REDATE now displays the number of files it redated.

     Rewrote SIZE to display each directory when it is found rather than
     reading the whole list first and displaying it later.  It runs a tad
     slower, but if it is being used on a large volume (such as a CD-ROM),
     it is less frustrating because you can see it work.  Also added the /N
     switch to bypass the subdirectory search.  It now displays the number
     of directories it found; and if it is aborted, it displays the totals
     up to that point.  Lastly, SIZE knows now that directories actually
     take up a disk cluster, and adds a the cluster size to each directory
     in the report (except for the root directory).

     Changed STAT's display to include one decimal point in its
     percentages, so it would be more precise.

     Improved the "Paused:" prompt to include screen attribute changes
     (primarily so PAGE's output would be easier to read).

     Corrected PTD so that /? is a valid paramater to the program being
     timed.  Previously, if /? was anywhere on the command line, PTD's
     on-line help was displayed.  Now, you can specify /? as a parameter to
     the program you intend to time.  Also, it now requires about less
     memory than before (it now needs only about 17K).

     SREBOOT and XPAUSE can now detect switches if they are placed directly
     after the program name (e.g. "SREBOOT/N" now works as expected).

     The Unique Utilities are now shareware.  Print out ORDERFRM.TXT to a
     standard printer for the order form.

Version 7.21: 01-21-94
     BLANK revised to save and restore the screen.  The /C switch can be
     used to make it behave as it did in versions 7.2 and below.

     More error detection added for DUMP and MDEL.

     If an I/O error occurs, the utilities will exit with ERRORLEVEL 10
     (not the number displayed).

Version 7.2: 01-14-94
     DDEL is now far faster than before, but does not allow the Esc or
     Ctrl+C keystrokes to abort the program prematurely.  The extra speed
     is worth it; just be sure you have a file recovery program handy just
     in case.

     KEYTEST has been revised to have a cleaner display.  It now displays
     all codes in decimal and hexadecimal.  It also displays the keyboard
     scan codes for keys pressed.  It can also show the full range of 256
     characters (except 20h and FFh, because they display blank
     characters).  It does this by writing directly into the screen buffer,
     so it may not be compatible with windowing software such as DESQview
     unless you run it in a virual DOS machine.

     ONCE now sets the archive attribute for the program file, because the
     date is actually being changed.

Version 7.1: 01-07-94
     BLANK utility added to blank the screen until any key is pressed.

     KEYTEST utility added to display the keyboard codes for keys pressed.

     ONCE utility added to let batch files do things once per day.

     SREBOOT utility added to reboot the computer safely (and it's just
     nifty anyway).

     STAT utility added to display disk space usage statistics for a disk.

     DDEL now displays the disk space it freed up even if it was aborted.

     A harmless bug in MDEL would cause the R key to not function properly
     if multiple file sets were specified to be deleted (e.g. "mdel *.bak
     *.sav"); MDEL would delete the first set without prompting further,
     but prompting would resume for the next file set.  This has been
     fixed.

     Display of free disk space moved from SIZE to the new STAT utility.

     SWAP now creates a temporary file when swapping the names of two
     files.

     XPAUSE now has the capability of setting the ERRORLEVEL based upon
     which shift key is being held down (/S switch).  See the documentation
     for XPAUSE for more information about how this works.

     Drive and directory detection routines for the utilities improved to
     include better support for different media types (including CD-ROM
     drives).  The new routines are a bit slower but more compatible.

     Replaced the keyboard input routine to enable support for enhanced
     keyboards.  A side effect is that Ctrl+Break is totally ignored; use
     Ctrl+C instead.

     Corrected documentation for PAGE (the "<" was missing from the syntax
     description).

     All utilities recompiled using Borland's Turbo Pascal 7.0.

Version 7.0: 11-26-93
      See UPGRADE.TXT for information on upgrading from a previous version
      of the Unique Utilities to the new version.

     The programs now handle write protected disks and other similar
     situations that previously produced runtime errors.

     "(Y/N)?" prompts (such as in DDEL, DTCLEAR, and REDATE) now only
     require a single Y or N keystroke; Esc as well as Ctrl+C or Ctrl+Break
     can be used to quit the program at one of these prompts.

     Some of the "(Y/N)?" prompts have been changed to "(Y/N/R)?" (for
     "rest" or "remaining").  The R choice will confirm the action for the
     current file and all subsequent files.

     A new, easier to use prompt has been created:

          Paused: Esc=abort, Space=screen, Enter=line, (any other key...

     DDEL and MDEL will now halt if Ctrl+C, Ctrl+Break, or Esc are pressed,
     as a safety measure.

     MDEL now does not display the names of system files it ignores.  Also,
     /N must now be last parameter on the command line, instead of the
     first.  This was to make it more consistent with other standard DOS
     commands.

     PAGE added to replace DOS's MORE command.

     Added the capability of timing programs to PTD.

     READ replaced with PAGE.

     REDATE no longer prompts when an action will affect an entire
     directory.  The syntax is also more restrictive--you cannot specify a
     directory name or drive letter as the destination.  The exact files
     must be specified.

     SIZE will now display the amount of free disk space on the drive it
     displayed a directory size for.  (A practical upshot of this is that
     if the directory size and free size are added together, their sum will
     be approximately equal to the amount of disk space that would be free
     were DDEL to be used to delete the directory.)

     XPAUSE has been totally overhauled.  New features include a more
     flexible prompt and a timeout period before selecting a default
     action.  The /D mode has also been greatly enhanced to include the
     display of Ctrl keys, Alt keys, function and arrow keys, and so on.

     Refined the source code for the programs to be more efficient and
     modular.

Version 6.0: 10-30-93
     Added DUMP to display all printable characters in a file.

     READ is now more functional and cleans up after itself better.

     REDATE now assumes the current date and time if no source file is
     specified (no more need to type "CON").

     SIZE can now find hidden directories nested beneath other directories.
     It also doesn't display the line of dashes and "total bytes" if the
     size of only one directory was displayed.

     SWAP now works properly from different directories.

     Removed some redundant code in XPAUSE.

Version 5.5: 10-15-93
     Added READ utility to read the included text files.

     SIZE now calculates cluster sizes for disks.  The end result is that
     it more accurately reports the actual amount of disk space used.

     XPAUSE has been enhanced to allow you to specify the allowable keys
     to press.

     Corrected minor bug in screen pausing routines.

     Speed improved for MDEL, REDATE, and DDEL.

Version 5.3: 10-07-93
     Improved speed of DDEL.

Version 5.2: 09-24-93
     Added the MDEL utility.

     Fixed bug in PTD (it did not display 'am' properly).

     Corrected REDATE's documented ability to retrieve the source date and
     time stamp from read-only, hidden, and system files.

     DDEL now displays each directory name after it is deleted.  Thanks to
     Rob Stewart for the input on this idea.

Version 5.1: 09-17-93
     Updated SIZE to include support for MS-DOS DoubleSpace and Stac
     Electronics' Stacker.  Thanks to my brother Rob Stewart for the idea.

Version 5.0: 09-03-93
     Added the DDEL, PTD, and SWAP utilities.

     Added /P switch to PATHS.  PATHS now ignores bad command line
     parameters.

     REDATE no longer says "Error" when it encounters a read-only file.

     SIZE now recognizes hidden directories.

     Added QUICKREF.TXT and FILES.TXT.

Version 4.0: 08-27-93
     Added the XPAUSE utility (formerly XPAUSE20).

     Added FILE_ID.DIZ description file for BBS uploading.

Version 3.0: 08-26-93
     Added the SIZE utility.

     Changed a prompt message in REDATE.

Version 2.0: 08-12-93
    First "official" public release.
