DOSKEY

Last updated

DOSKEY
Developer(s) Microsoft, IBM, Novell, ReactOS contributors
Initial release1991, 3132 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.microsoft.com/en-us/windows-server/administration/windows-commands/doskey

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 .

Contents

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
Ctrl + Home
Clears command line from the cursor to the beginning of the line.
Ctrl + End
Clears command line from the cursor to the end of the 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

Related Research Articles

<span class="mw-page-title-main">Drive letter assignment</span> Alphabetical assignment to logical drives on computers (e.g., C:\)

In computer data storage, drive letter assignment is the process of assigning alphabetical identifiers to volumes. Unlike the concept of UNIX mount points, where volumes are named and located arbitrarily in a single hierarchical namespace, drive letter assignment allows multiple highest-level namespaces. Drive letter assignment is thus a process of using letters to name the roots of the "forest" representing the file system; each volume holds an independent "tree".

<span class="mw-page-title-main">COMMAND.COM</span> Default command line for MS-DOS and Windows 9x

COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot, hence being responsible for setting up the system by running the AUTOEXEC.BAT configuration file, and being the ancestor of all processes.

cd (command) Computer command in various operating systems

The cd command, also known as chdir, is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files.

dir (command) Directory information command on various operating systems

In computing, dir (directory) is a command in various computer operating systems used for computer file and directory listing. It is one of the basic commands to help navigate the file system. The command is usually implemented as an internal command in the command-line interpreter (shell). On some systems, a more graphical representation of the directory structure can be displayed using the tree command.

In computing, the working directory of a process is a directory of a hierarchical file system, if any, dynamically associated with each process. It is sometimes called the current working directory (CWD), e.g. the BSD getcwd function, or just current directory. When the process refers to a file using a simple file name or relative path (as opposed to a file designated by a full path from a root directory), the reference is interpreted relative to the working directory of the process. So for example a process with working directory /rabbit-shoes that asks to create the file foo.txt will end up creating the file /rabbit-shoes/foo.txt.

CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS during boot. CONFIG.SYS was introduced with DOS 2.0.

more (command) Terminal pager available on various operating systems

In computing, more is a command to view the contents of a text file one screen at a time. It is available on Unix and Unix-like systems, DOS, Digital Research FlexOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows and ReactOS. Programs of this sort are called pagers. more is a very basic pager, originally allowing only forward navigation through a file, though newer implementations do allow for limited backward movement.

Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, and .xhtml that are common on other operating systems, rather than specialized shortened names such as .jpg, .tif, .htm, or .xht. The standard has been common with File Allocation Table (FAT) filesystems since its first implementation in Windows NT 3.5 of 1994.

<span class="mw-page-title-main">Debug (command)</span> Line-oriented debug utility in DOS

The line-oriented debugger DEBUG.EXE is an external command in operating systems such as DOS, OS/2 and Windows.

Computer hardware or software is said to be bug compatible if it exactly replicates even an undesirable feature of a previous version. The phrase is found in the Jargon File.

<span class="mw-page-title-main">ATTRIB</span>

In computing, ATTRIB is a command in Intel ISIS-II, DOS, IBM OS/2, Microsoft Windows and ReactOS that allows the user to change various characteristics, or "attributes" of a computer file or directory. The command is also available in the EFI shell.

<span class="mw-page-title-main">TYPE (DOS command)</span>

In computing, type is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS/4NT and Windows PowerShell used to display the contents of specified files on the computer terminal. The analogous Unix command is cat.

del (command) Command in various operating systems

In computing, del is a command in command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS, NDOS, 4OS2, 4NT and Windows PowerShell. It is used to delete one or more files or directories from a file system.

find (Windows)

In computing, find is a command in the command-line interpreters (shells) of a number of operating systems. It is used to search for a specific text string in a file or files. The command sends the specified lines to the standard output device.

In computing, label is a command included with some operating systems. It is used to create, change, or delete a volume label on a logical drive, such as a hard disk partition or a floppy disk. Used without parameters, label changes the current volume label or deletes the existing label.

In some operating systems, vol is a command within the command-line interpreters (shells) such as COMMAND.COM and cmd.exe. It is used to display the volume label and volume serial number of a logical drive, such as a hard disk partition or a floppy disk, if they exist.

In computing, LOADHIGH is an internal DOS command in COMMAND.COM that is used to load a program into the upper memory area (UMA) instead of conventional memory.

choice (command)

In computing, choice is a command that allows for batch files to prompt the user to select one item from a set of single-character choices. It is available in a number of operating system command-line shells.

In computing, findstr is a command in the command-line interpreters (shells) of Microsoft Windows and ReactOS. It is used to search for a specific text string in computer files.

References

  1. "JaTomes Help - OS/2 Commands". Archived from the original on 2019-04-14. Retrieved 2019-07-28.
  2. "Doskey | Microsoft Docs". 2009-09-11.
  3. "Reactos/Reactos". GitHub . 2021-11-02.
  4. Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN   0-7356-1812-7.
  5. Tim O'Reilly; Troy Mott; Walter Glenn (1999). Windows 98 in a Nutshell: A Desktop Quick Reference . O'Reilly. ISBN   978-1565924864.
  6. Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN   978-0-596-00148-3.
  7. OS/2 2.0 Redbooks Volume 2 - DOS and Windows Environment (GG24-3731)
  8. "FreeDOS command: doskey". Archived from the original on 2011-11-07.
  9. "Enhanced DOSKEY.com -- with auto-completion Paul Houle".

Further reading