Enhanced DOSKEY.com
--- Freeware ---

[page last modified 7/24/2014]

This program is an enhanced, drop-in replacement for the DOSKEY.COM that ships with MS-DOS and Windows 9x/Me.  Although enhanced, it has a smaller disk and memory resident footprint.  It is a great addition to DOS boot diskettes, and to the Win 9x/Me environment if the DOS box is used frequently.  Note: will not operate under Windows NT/2000/XP (it's not needed since those systems have completion mechanisms built-in -- for how to enable in XP, see  http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q310530).

The primary added feature is command and file "auto-completion" via the tab key.  Depending on the context, either a matching command or filename (or path) will be supplied.  This is a huge timesaver when using the command line.

In the following examples user-entered text is in CAPS and the auto-completed text – which appears when the user enters a TAB key -- is in italics.  The "_" represents the cursor position after auto-completion:

c:\> XCopy.exe  _
c:\> CD \Windows\_
c:\> DIR Autoexec.bat  
_

If there is more than a single matching completion, the user can repeatedly press the TAB key to cycle through the matches as they appear on the command line.   Entering  <shift>TAB  will go backward through the list of matches (if, for example, you pressed TAB one too many times).

To install, rename your existing DOSKEY.COM (to save it) and download the replacement.  To remove, delete the downloaded DOSKEY.COM and rename your original back to DOSKEY.COM.

[Note to Windows/ME users: the "System File Protection" feature in this OS guards against a direct replacment of DOSKEY.COM -- install and load the enhanced DOSKEY.COM from another directory of your choice, and don't rename the Windows/Me original.]

Hope you like it.  I wrote this many years ago to make the DOS command line easier to use, and still find myself relying on it every day.


Change Log

10/15/02 - Version 1.4: Fixed bad command line parsing (switches could damage macro definitons, -m did not work).

Click here to download  doskey14.zip

10/18/02 - Version 1.5: Added basic emacs compatible control sequences.

Click here to download  doskey15.zip

1/22/03 - Version 1.6: Fixed tab completion bug writing past end of command line. Removed "\" at end of input line when user exits tab completion with a CR -- this functions better with commands such as CD, RD and COPY.

Click here to download  doskey16.zip

9/26/03 - Version 1.7: Removed "\" at end of directory name when user exits tab completion with a space -- this functions better with commands such as MOVE, REN and COPY which object to a trailing "\" on the source.

Click here to download  doskey17.zip

10/22/03 - Version 1.8: Caused high ASCII (>=80h) to be recognized as filename/path characters. Fixes a problem where umlaut chars were being viewed as separators instead of parts of a valid filename.

Click here to download  doskey18.zip

6/14/09 - Version 1.9: Stop executing Win 95 interrupt on versions of DOS that do not implement it. Though never functionally a problem, this change allows doskey to run at 0% CPU (when idle) in Virtual Machines running DOS 6.x, when paired with power management software such as DOSIDLE.EXE.

Click here to download  doskey19.zip

6/29/09 - Version 2.0: Further small change to improve CPU utilization when idle (at DOS prompt) in a Virtual Machine. No other functional difference. (As of 9/11/2011, an additional archive with full source is available.)

Click here to download  doskey20.zip

Click here to download with full source  doskey20src.zip

7/24/14 - Version 2.1: Thank you to Wengier Wu, who has provided a modified Doskey with source (version 2.1) enhanced to support long file names. I have not tested this code (I no longer have the ability to run DOS, or any 16-bit code for that matter). I did look at the source changes to insure they were benign, and verified the executable was built from the source. If you have questions or comments about the LFN implementation, Mr. Wu has permitted a contact email address to be posted: wengierwu@yahoo.com. His comments:

I decided to go ahead myself to modify your DOSKEY 2.0 source code and
finally managed to add LFN support into it, and tentatively named it as
version 2.1.  This DOSKEY 2.1 will use LFN API whenever possible (e.g. under
MS-DOS 7 + DOSLFN or in a Win9x DOS window), or will fallback to 8.3 names if
LFN API is unavailable (e.g. on real-mode MS-DOS 6.x or 7.x without DOSLFN).
By now I have tested it and worked under the following environments:

  1. Real-mode MS-DOS 6.22 boot disk (8.3 filename only)
  2. Real-mode MS-DOS 7.10 + DOSLFN 0.41c (supporting LFN)
  3. Windows 95 DOS window (supporting LFN)
  4. Windows 98SE DOS window (supporting LFN)

I have not tested extremely long file names though, and it also won't
automatically add quotation marks ("") when there are spaces in the long file
name. Unlike DOSKEY 2.0, this DOSKEY 2.1 will not convert the appended partial
file/dir names into lower case, but instead will append the partial names
exactly as they are stored in the disk (e.g. Windows98SETUP.exe).

Click here to download  doskey21.zip

Click here to download with full source  doskey21src.zip


You are visitor 58503           Go to Home Page