Developer(s) | Microsoft, IBM, Novell, ReactOS contributors |
---|---|
Initial release | 1991, 32–33 years ago |
Operating system | MS-DOS, PC DOS, OS/2, eComStation, ArcaOS, Novell DOS 7, DR-DOS, Windows, ReactOS |
Platform | Cross-platform |
Type | Command |
Website | docs |
DOSKEY is a command for DOS, IBM OS/2,[1] Microsoft Windows,[2] and ReactOS[3] that adds command history, macro functionality, and improved editing features to the command-line interpreters COMMAND.COM
and cmd.exe
.
History
The command was included as a terminate-and-stay-resident program with MS-DOS and PC DOS versions 5 and later,[4] then Windows 9x,[5] and finally Windows 2000[6] and later.
In early 1989, functionality similar to DOSKEY
was introduced with DR-DOS 3.40 with its HISTORY
CONFIG.SYS directive. This enabled a user-configurable console input history buffer and recall as well as pattern search functionality on the console driver level, that is, fully integrated into the operating system and transparent to running applications. In the summer of 1991, DOSKEY
was introduced in MS-DOS/PC DOS 5.0 in order to provide some of the same functionality. DOSKEY
also added a macro expansion facility, though special support was required before applications such as command line processors could take advantage of it. Starting with Novell DOS 7 in 1993, the macro capabilities were provided by an external DOSKEY
command as well. In order to also emulate the DOSKEY
history buffer functionality under DR-DOS, the DR-DOS DOSKEY
worked as a front end to the resident history buffer functionality, which remained part of the kernel.
DOSKEY
has also been included in IBM OS/2 Version 2.0.[7]
In current Windows NT-based operating systems, the DOSKEY
functionality is built into CMD.EXE, although the DOSKEY
command is still used to change its operation.
The DOSKEY
command is not available in FreeDOS, which has such features built into the command interpreter.[8]
Usage
Command switches
DOSKEY allows the use of several command switches:
DOSKEY [/switch ...] [macroname=[text]]
- /REINSTALL
- Installs a new copy of DOSKEY.
- /LISTSIZE=[size]
- Sets size of command history buffer to size.
- /MACROS
- Displays all DOSKEY macros.
- /MACROS:ALL
- Displays all DOSKEY macros for all executables which have DOSKEY macros.
- /MACROS:[executable name]
- Displays all DOSKEY macros for the given executable.
- /HISTORY
- Displays all commands stored in memory.
- /INSERT
- Specifies that new text typed is inserted in old text.
- /OVERSTRIKE
- Specifies that new text overwrites old text.
- /EXENAME=exename
- Specifies the executable.
- /MACROFILE=filename
- Specifies a file of macros to install.
- /APPEDIT
- (undocumented - since MS-DOS 7)
- /COMMAND
- (undocumented - since MS-DOS 7)
- /PERMANENT
- (undocumented - since MS-DOS 7)
- /SCRSIZE
- (undocumented - since MS-DOS 7)
- /XHISTORY
- (undocumented - since MS-DOS 7)
- [macroname]
- Specifies a name for a macro created.
- [text]
- Specifies commands to record.
Keyboard shortcuts
During a DOSKEY session, the following keyboard shortcuts can be used:
- ↑ and ↓
- Recall commands
- Esc
- Clears command line
- F7
- Displays command history
- Alt+F7
- Clears command history
- F8
- Searches command history
- F9
- Selects a command by number
- Alt+F10
- Clears macro definitions
Command macros
DOSKEY implements support for command macros, a simple text-substitution facility which is used somewhat like command line aliases in other environments.
- $T
- Command separator. Allows multiple commands in a macro.
- $1–$9
- Batch parameters. Equivalent to %1-%9 in batch programs.
- $*
- Symbol replaced by everything following the macro name on command line.
Alternatives
The absence of a command history in COMMAND.COM
was a serious inconvenience ever since the earliest versions of MS-DOS. Numerous third-party programs have been written to address the issue; many were available long before Microsoft supplied DOSKEY. Some of them, including JP Software's 4DOS and NDOS, also provide additional editing capabilities lacking in DOSKEY, such as filename completion. Some of the better-known DOSKEY alternatives are Jack Gersbach's DOSEDIT
, Chris Dunford's CED
, Sverre Huseby's DOSED
, Ashok Nadkarni's CMDEDIT
, Steven Calwas's ANARKEY
, Eric Tauck's TODDY
, and enhanced DOSKEY written by Paul Houle.
Paul Houle's Enhanced DOSKEY[9] is designed to be an enhanced drop-in replacement for the DOSKEY.COM that ships with MS-DOS and Windows 9x/Windows Me. It also has a smaller disk and memory-resident footprint. The primary added feature is command and file "auto-completion" via the Tab key. Version 2.5, released in 2014, also adds full support for long filenames (LFN).
See also
References
- ^ "JaTomes Help - OS/2 Commands". Archived from the original on 2019-04-14. Retrieved 2019-07-28.
- ^ "Doskey | Microsoft Docs". 2009-09-11.
- ^ "Reactos/Reactos". GitHub. 2021-11-02.
- ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
- ^ Tim O'Reilly; Troy Mott; Walter Glenn (1999). Windows 98 in a Nutshell: A Desktop Quick Reference. O'Reilly. ISBN 978-1565924864.
- ^ Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN 978-0-596-00148-3.
- ^ OS/2 2.0 Redbooks Volume 2 - DOS and Windows Environment (GG24-3731)
- ^ "FreeDOS command: doskey". Archived from the original on 2011-11-07.
- ^ "Enhanced DOSKEY.com -- with auto-completion Paul Houle".
Further reading
- Cooper, Jim (2001). Special Edition Using MS-DOS 6.22, Third Edition. Que Publishing. ISBN 978-0789725738.
- Dyson, Peter (1995). Mastering OS/2 Warp. Sybex. ISBN 978-0782116632.
- Stanek, William R. (2008). Windows Command-Line Administrator's Pocket Consultant, 2nd Edition. Microsoft Press. ISBN 978-0735622623.
- Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (in German) (3 ed.). Archived from the original on 2016-11-04. Retrieved 2014-08-06. (NB. NWDOSTIP.TXT is part of MPDOSTIP.ZIP, maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)