Fact-checked by Grok 2 weeks ago

cmd.exe

cmd.exe, also known as the Command Prompt or Windows Command shell, is the default command-line interpreter for the Microsoft Windows NT family of operating systems. It acts as an interface between the user and the operating system, loading applications, directing information flow between them, and translating text-based user input into executable commands. Through cmd.exe, users can execute system utilities, manage files and directories, configure network settings, and automate repetitive tasks using batch scripts. Introduced in 1993 with Windows NT 3.1, cmd.exe was developed to provide a 32-bit command processor compatible with the NT kernel, succeeding the 16-bit COMMAND.COM from MS-DOS and earlier Windows versions. Unlike COMMAND.COM, which was limited to the MS-DOS environment, cmd.exe supports features such as long filenames, Unicode character encoding, and enhanced redirection and piping for command output. It maintains backward compatibility with legacy MS-DOS batch files, allowing millions of existing scripts to run without modification on modern Windows systems. Cmd.exe operates within the Windows Console host, a terminal emulator that renders text-based output and accepts keyboard input, and it can be launched via the cmd executable or through shortcuts like the Run dialog. Key parameters include /c to execute a command and terminate, /k to execute and keep the session open, and /q for quiet mode without the copyright banner. Environment variables, such as %PATH% for executable locations and %CD% for the current directory, enable dynamic scripting and customization. Although cmd.exe has seen limited updates since its inception to preserve stability and compatibility, it continues to serve as a core tool for IT professionals, alongside more advanced options like PowerShell, which builds on its foundation with object-oriented scripting introduced in Windows 7 and Server 2008. Its simplicity and reliability make it indispensable for troubleshooting, remote administration via tools like WinRM, and integrating with third-party command-line utilities.

History

Origins and development

The development of cmd.exe began in 1993 as part of the Windows NT 3.1 project at Microsoft, where it was created by software engineer Therese Stowell as a 32-bit command-line interpreter to replace the 16-bit COMMAND.COM from MS-DOS. Stowell, one of the few female programmers on the early Windows NT team, focused on building a robust shell suited for the new operating system's architecture. While drawing influences from the MS-DOS COMMAND.COM for compatibility with existing batch scripts and commands, cmd.exe was fundamentally redesigned to operate in protected mode within the Windows NT kernel, enabling better stability and resource management in a multitasking environment. This shift addressed limitations of the real-mode DOS shell, allowing cmd.exe to leverage the NT kernel's security features and 32-bit addressing without the constraints of 16-bit systems. Cmd.exe made its initial release alongside Windows NT 3.1 on July 27, 1993, with primary goals centered on supporting long filenames beyond the 8.3 format of DOS, Unicode character encoding for international use, and enhanced scripting capabilities through improved batch file processing. These features positioned cmd.exe as a foundational tool for system administration and automation in enterprise settings, while maintaining backward compatibility for DOS applications via the included COMMAND.COM emulator. The shell evolved further with Windows NT 4.0, released in August 1996, which introduced command history functionality to allow users to recall and reuse previous commands more efficiently. These enhancements built on the core framework established in 1993, refining user interaction without altering the underlying parsing model.

Versions across platforms

The command-line interpreter cmd.exe originated as a component of OS/2 version 1.0, released in December 1987 as a joint effort between Microsoft and IBM, serving as a protected-mode shell that extended the capabilities of earlier DOS-based interpreters like COMMAND.COM. This early version supported features such as pipes and redirection, laying the groundwork for subsequent adaptations in Microsoft's operating systems. In the Windows NT family, cmd.exe debuted with Windows NT 3.1 in July 1993 as the first 32-bit command processor, replacing the 16-bit COMMAND.COM and providing compatibility with MS-DOS 5.0 batch files while supporting multiple subsystems including POSIX and OS/2. Developed primarily by Therese Stowell at Microsoft, it offered a basic shell environment focused on enterprise reliability rather than consumer features. Windows 2000, released in February 2000, introduced command extensions enabled by default in cmd.exe, enhancing batch file processing with features like delayed variable expansion and improved support for piping in complex scripts, which allowed for more efficient data flow between commands without blocking. Tab completion for file and directory names was also refined, building on earlier NT implementations to streamline interactive use. Windows XP, launched in October 2001, expanded cmd.exe's usability with standardized /? help switches for most internal commands, providing concise syntax and option summaries directly in the console, alongside enhanced error handling that propagated detailed exit codes for better scripting diagnostics. By Windows 7 in October 2009, cmd.exe benefited from console host (conhost.exe) enhancements, including activation of Quick Edit mode for mouse-based text selection and editing without disrupting command execution, improving productivity in interactive sessions. In Windows 10, released in July 2015, and continuing through Windows 11 in 2021, cmd.exe integrated with the open-source Windows Terminal application, which became the default console host starting with Windows 11 version 22H2 in October 2022, offering multi-tab support, GPU-accelerated rendering, and customizable profiles while maintaining backward compatibility. Support for ANSI and VT100 escape sequences was added in Windows 10 version 1703 (April 2017), enabling colored output and cursor control in modern applications without third-party tools. Microsoft has issued notices indicating gradual deprecation of legacy console behaviors in favor of Windows Terminal, though cmd.exe remains fully supported as of 2025. For embedded systems, Windows CE 2.11 in 1999 introduced the first version of cmd.exe tailored for resource-constrained devices, featuring limited console support with basic command execution but omitting advanced batch scripting to prioritize low memory footprint. ReactOS, an open-source operating system project initiated in 1998 to recreate Windows NT compatibility, includes a from-scratch implementation of cmd.exe that mirrors NT-lineage features, with ongoing updates for compatibility; as of the 0.4.15 release in March 2025, it incorporates improvements in shell parsing and internal command handling to align with Windows Server 2003 behaviors.

User Interface and Usage

Launching and basic operation

cmd.exe, the Windows command interpreter, can be launched through several methods in a Windows environment. One common way is to open the Run dialog by pressing Windows key + R, typing "cmd", and pressing Enter, which starts a new instance of the command prompt. Alternatively, users can search for "cmd" or "Command Prompt" in the Start menu and select it to open. Another approach involves navigating to a desired folder in File Explorer, clicking the address bar, typing "cmd", and pressing Enter, which opens the prompt in that directory. Upon launching without parameters, cmd.exe opens a console window displaying the command prompt, which by default shows the current drive (typically C:), the user's directory path, and a greater-than sign (>) as the input indicator, such as C:\Users\Username>. The default interface features a text-based console with editable input at the prompt and scrolling output for command results, traditionally rendered on a black background with light text, though customizable via properties. Basic operation involves typing a command at the prompt followed by the Enter key to execute it, with output displayed below the prompt and the cursor returning for the next input. Line editing is supported using arrow keys: left and right arrows move the cursor within the current line for modifications, while up and down arrows recall previous commands from history for reuse or editing. To end the session, users can type exit and press Enter, or simply close the console window. At launch, cmd.exe accepts various switches to configure behavior. The /c option executes the specified string as a command and then terminates the session, useful for one-off executions like cmd /c dir. In contrast, the /k switch runs the command but keeps the window open for further interaction, as in cmd /k echo Hello. The /t parameter sets the foreground and background colors using hexadecimal codes, for example cmd /t:0a for black background and green text. Additionally, /q enables quiet mode by turning off command echoing, suppressing the display of commands before execution.

Command line syntax and features

The command line in cmd.exe follows a syntax that allows for sequential execution of multiple commands using specific operators. The ampersand (&) separates commands to run them sequentially regardless of success, while && executes the subsequent command only if the preceding one succeeds, and || runs it only if the previous fails. Piping enables chaining the output of one command as input to another using the | operator, such as dir | find "file" to filter directory listings for entries containing "file". Output redirection uses > to send standard output to a file, overwriting it if it exists, while < redirects input from a file; appending >> adds to the file without overwriting. Error output (stderr) is redirected separately with 2> or appended via 2>>, allowing distinct handling of streams, as in command 2> errors.txt. The maximum command line length in cmd.exe is 8191 characters on Windows XP and later versions, with an error message displayed if exceeded. Special characters like &, |, >, <, and ^ are escaped with a caret (^) to treat them literally, preventing unintended interpretation as operators; for example, echo ^& outputs "&" instead of chaining commands. Paths containing spaces require double quotes for proper parsing, such as "C:\Program Files\app.exe". Cmd.exe integrates with the Windows desktop for easier input: dragging a file or folder from Explorer into the command window inserts its full path as quoted text, facilitating commands with file arguments. Copy and paste operations use Ctrl+C and Ctrl+V shortcuts, which can be enabled in the console properties under the Options tab via "Enable Ctrl key shortcuts". Batch files can incorporate these syntax elements for scripted command execution.

Batch file support

Cmd.exe provides robust support for batch files, which are plain text files containing sequences of commands executed non-interactively to automate tasks. These files enable scripting capabilities similar to those in interactive mode but are processed as a complete unit upon invocation, allowing for structured program flow without user intervention unless explicitly paused. Batch files are essential for system administration, software installation, and routine maintenance in Windows environments. Batch files use the file extensions .bat for backward compatibility with MS-DOS and earlier Windows systems, and .cmd for scripts optimized for Windows NT-based operating systems, which support advanced command extensions and environment handling. Both extensions invoke cmd.exe as the interpreter when executed. To run a batch file, users can double-click it in File Explorer, which launches cmd.exe to process the file, or use the command line with cmd /c filename.bat to execute it and terminate the session afterward. For cleaner output during execution, the @echo off directive can be placed at the beginning of the file to suppress command echoing and the prompt display. Scripting in batch files relies on built-in commands for control structures and logic. Comments are added using the REM command, which ignores the rest of the line and can be used for documentation or spacing; blank lines are also ignored by the parser. Flow control is achieved with GOTO labels, where GOTO :labelname jumps to a marked line (e.g., :labelname), enabling loops or conditional branching. Conditional execution uses the IF statement, supporting checks like IF EXIST file.exe (command) to verify file presence or IF %ERRORLEVEL% EQU 0 (command) to test the exit code of the previous command, with ELSE for alternative actions. Iteration is handled by the FOR loop, such as FOR %i IN (1,2,3) DO command, which processes a set of items; in batch files, variables use double percent signs (e.g., %%i) for proper expansion. Variables enhance batch file flexibility, with positional parameters accessed as %1, %2, etc., for arguments passed to the script (e.g., myscript.bat arg1 arg2), and %0 referring to the script name itself. Environment variables are managed via the SET command, such as SET VAR=value to assign and %VAR% to reference them; delayed expansion (!VAR!) is available for dynamic changes within blocks. Error handling leverages %ERRORLEVEL%, which captures the numeric exit code from commands (0 typically indicating success), allowing scripts to branch based on outcomes like IF %ERRORLEVEL% NEQ 0 ECHO Error occurred. Unlike interactive mode, where commands are entered and executed line-by-line with immediate prompting, batch files parse the entire content upfront and run silently unless commands like PAUSE are included to halt execution and await user input (e.g., pressing a key). This non-interactive nature suits automation but requires explicit pauses for user interaction points. Example of a simple batch file (example.bat):
@echo off
REM This is a sample batch file
IF EXIST C:\temp\file.txt (
    ECHO File found.
) ELSE (
    ECHO File not found.
)
FOR %%i IN (A B C) DO ECHO Processing %%i
SET MYVAR=Hello
ECHO %MYVAR%
IF %ERRORLEVEL% EQU 0 ECHO Success
PAUSE
This script checks for a file, iterates over items, sets a variable, checks for errors, and pauses at the end.

Internal Commands

Core commands in Windows NT

The core commands in cmd.exe for the Windows NT family encompass a set of built-in utilities primarily focused on file and directory manipulation, system configuration, and basic process management, enabling users to perform essential tasks directly within the command interpreter without invoking external executables. These commands form the foundational toolkit for scripting and interactive use, with syntax that supports options for customization, such as switches to suppress prompts or alter output formats. Introduced in Windows NT 3.1 and refined across subsequent versions, they prioritize simplicity and compatibility for administrative and batch operations.

Directory Management

Directory management commands allow navigation and organization of the file system. The DIR command lists files and subdirectories in the specified or current directory, displaying details like size, date, and attributes; basic syntax is DIR [drive:][path][filename] [/S] [/B] [/A[:attributes]], where /S includes subdirectories and /B provides a bare format for scripting. The CD or CHDIR command changes the current directory, supporting relative or absolute paths, as in CD /D E:\folder to switch drives and directories. For creating directories, MD or MKDIR establishes new folders, with syntax MD [drive:]path, allowing nested creation like MD \parent\child. Conversely, RD or RMDIR removes empty directories, using RD /S /Q path to delete non-empty ones recursively without prompting.

File Operations

File operations handle copying, deletion, and renaming with efficient built-in mechanisms. The COPY command duplicates files or directories, with syntax COPY source destination [/Y] [/A] [/B], where /Y suppresses confirmation prompts for overwrites and /A treats files as ASCII. For relocating files, MOVE renames or transfers them, as in MOVE oldname newname or MOVE source destination /Y. Deletion is managed by DEL or ERASE, which removes specified files using DEL filename [/P] [/F] [/S] [/Q], with /P prompting for confirmation and /Q quiet mode. The TYPE command displays the contents of text files, invoked simply as TYPE filename, suitable for quick viewing without opening an editor. Renaming uses REN or RENAME, with syntax REN oldname newname, limited to the same directory unless paths are specified.

System Utilities

System utilities facilitate output control, variable management, and interface adjustments. ECHO prints text to the console or controls prompt visibility, such as ECHO is on. to display the default state or ECHO OFF to hide commands in batch files. The SET command assigns or displays environment variables, using SET variable=value for assignment or SET /A for arithmetic evaluation, like SET /A count=count+1. PATH modifies the executable search path, appended via PATH %PATH%;C:\newpath or displayed with PATH alone. CLS clears the screen of all output for a clean view, executed simply as CLS. Date and time functions are handled by DATE and TIME, which display or set system values, e.g., DATE /T for today's date without prompting.

Process Control

Process control commands manage running tasks and user interaction using built-in features. The PAUSE command halts execution until a key press, typically in batch files with the message "Press any key to continue . . .", invoked as PAUSE.

Networking Basics

Basic networking is handled through external executables like PING and TRACERT that can be invoked from cmd.exe. PING tests connectivity to a host, with syntax PING hostname [/n count], sending echo requests and reporting round-trip times. TRACERT traces the route to a destination, using TRACERT hostname [/d] [/h maxhops], displaying hops and latencies without resolving addresses.

Variations in other platforms

The OS/2 version of cmd.exe includes specialized internal commands such as ACTIVATE for switching between Presentation Manager windows and ALIAS for managing session aliases within the graphical environment. It supports long filenames on HPFS partitions natively since OS/2 1.2. Later versions like Warp 4.0 enhanced file system features, but core internal commands remain similar to early NT equivalents with OS/2-specific additions. In Windows CE, cmd.exe was introduced in version 2.11 in 1999 as the first console-supporting embedded Windows release, providing a limited set of core internal commands like ECHO for output display and SET for environment variable manipulation. The command set remains constrained compared to NT, for example, lacking full recursion in the DIR command, which does not traverse subdirectories without additional scripting. Batch file support is basic in early versions, with loops (e.g., FOR) unavailable until Windows CE 5.0 in 2003, which enabled simple scripting tasks like conditional execution via IF statements. Common omissions include advanced redirection operators like >>&, limiting output handling to basic pipes and files. ReactOS's cmd.exe implementation primarily supports core internal commands compatible with Windows NT 4.0 to 2003 era, including redirection and environment variables. Ongoing development has added features like TASKLIST for displaying running processes with details like PID and memory usage, implemented via NtQuerySystemInformation for process enumeration. As of the 0.4.15 release in March 2025, compatibility with later Windows features continues to improve, though some advanced extensions remain incomplete. eComStation and ArcaOS, successors to OS/2, retain cmd.exe with internal commands largely compatible with OS/2 Warp, including support for HPFS and JFS file systems, with additions for modern hardware via updates.

Technical Details

Parsing and execution model

Cmd.exe employs a multi-phase parsing process to interpret user input or batch file lines, ensuring accurate tokenization and preparation for execution. The initial phase involves variable expansion using the %VAR% syntax for immediate substitution of environment variables at parse time. Following variable expansion, cmd.exe performs basic lexical analysis, where the input string is tokenized by splitting on whitespace while respecting quoted strings to treat embedded spaces as part of arguments. Special redirection operators (> , < , |) and command separators (&, &&, ||) are recognized during this tokenization, with the caret (^) serving as an escape character to literalize subsequent characters. Wildcards (* and ?) are preserved for later expansion during file matching in external commands. Recognition of internal versus external commands happens next: cmd.exe maintains a table of built-in commands (e.g., DIR, ECHO, SET), and if the first token matches one, it is treated as internal, taking precedence over any external executable with the same name; otherwise, it is considered external and subject to PATH search. External commands are located by searching the directories in the PATH environment variable, and if found, executed by forking a new process via CreateProcess API. Internal commands, however, execute directly within the cmd.exe process, avoiding the overhead of process creation. The execution model emphasizes sequential processing, with each tokenized command line executed immediately after parsing unless part of a compound statement like IF or FOR. For external executables, cmd.exe passes the parsed arguments as a command line string to the child process, which then undergoes further parsing by the target's runtime (e.g., C runtime for .exe files). Error handling relies on exit codes returned by commands: a code of 0 indicates success, while non-zero values signify failure, propagated to the parent via the %ERRORLEVEL% variable for use in conditional logic like IF %ERRORLEVEL% NEQ 0. This allows scripts to branch based on execution outcomes without explicit error output parsing. In batch file processing, cmd.exe reads and parses lines sequentially, executing each after immediate expansion but before runtime evaluation. This design leads to challenges with variables modified within loops or blocks, as %VAR% expansions occur at parse time for the entire block. To address this, delayed expansion using !VAR! syntax was introduced in Windows 2000, allowing runtime evaluation when enabled via SETLOCAL EnableDelayedExpansion. This feature re-parses variables at execution time within enabled scopes, enabling accurate handling of dynamically changing values in iterative constructs without multiple passes over the batch file. Batch execution proceeds line-by-line, with labels and GOTOs facilitating control flow, but multi-line commands (e.g., parenthesized blocks) are parsed as a unit for immediate expansion.

Environment variables and configuration

Cmd.exe relies on environment variables to define key aspects of its operating environment, such as search paths and temporary file locations. The PATH variable specifies a semicolon-delimited list of directories where the interpreter searches for executable files when commands are invoked. Similarly, the TEMP and TMP variables point to directories used for storing temporary files generated by commands and applications. The COMSPEC variable holds the full path to the cmd.exe executable itself, typically set to %SystemRoot%\system32\cmd.exe, enabling the system to locate and launch the command interpreter. The PROMPT variable controls the appearance of the command prompt string, allowing customization through codes like P for the current drive and path, and G for the greater-than sign, as in PROMPT PG for a standard display. Environment variables in cmd.exe are managed primarily through the SET command, which displays, sets, or removes them within the current session. Invoking SET without parameters lists all current environment variables and their values. To assign a value, the syntax SET variable=value is used, such as SET MYVAR=example, which persists only for the duration of the session unless exported to the system. For arithmetic operations, the /A switch enables expression evaluation, for instance, SET /A count+=1 to increment a counter variable. Console configuration in cmd.exe is accessible via the Properties dialog, which allows users to adjust visual and behavioral settings. Under the Font tab, users can select from available console fonts like Consolas or Lucida Console, with sizes ranging from 8 to 24 points. The Colors tab permits customization of screen text, background, and popup hues using RGB values. In the Options tab, Quick Edit Mode enables mouse-based text selection and editing without requiring keyboard shortcuts like Ctrl+C for copy. The Layout tab controls the screen buffer size, with the height configurable up to 9999 lines in modern Windows versions to retain command history and output. For legacy compatibility with 16-bit MS-DOS applications running under the NT Virtual DOS Machine (NTVDM), cmd.exe loads configuration files at startup. Autoexec.nt executes commands sequentially to set environment variables and run programs, while Config.nt defines device drivers and memory management settings, such as expanded memory specifications (EMS). These files, located in %SystemRoot%\System32, are processed only when NTVDM is invoked for DOS emulation. Persistent console settings, including those from the Properties dialog, are stored in the Windows Registry under HKEY_CURRENT_USER\Console. This key holds values for buffer sizes, color schemes, font selections, and edit modes, applying to all console applications for the current user unless overridden by application-specific subkeys like HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe. Changes made via Properties update these registry entries directly, ensuring settings persist across sessions.

Comparisons

With COMMAND.COM

Cmd.exe and COMMAND.COM represent two generations of command interpreters in the Microsoft ecosystem, with cmd.exe serving as the native shell for Windows NT-based operating systems and COMMAND.COM functioning as the shell for MS-DOS and Windows 9x environments. Architecturally, cmd.exe operates as a 32-bit or 64-bit application native to the Windows NT kernel, running in protected mode to leverage the operating system's memory protection and multitasking capabilities. In contrast, COMMAND.COM is a 16-bit program designed for real-mode execution in MS-DOS, lacking the advanced memory management and isolation features of the NT kernel. This fundamental difference means cmd.exe integrates directly with the NT executive services for process handling, while COMMAND.COM relies on the simpler, interrupt-driven DOS kernel. Functionally, cmd.exe supports modern file system features absent in COMMAND.COM, such as handling long filenames exceeding the 8.3 format and full Unicode character sets for internationalized paths and commands. COMMAND.COM, constrained by DOS conventions, limits filenames to the short 8.3 format (eight characters for the name and three for the extension) and uses legacy code pages like OEM 437, without native Unicode support. Cmd.exe also introduces enhanced user interface features like tab completion for commands and paths, a persistent command history accessible via F7, and conditional chaining operators such as && (execute next if previous succeeds) and || (execute next if previous fails), which provide more sophisticated scripting control. COMMAND.COM lacks these, offering only basic command chaining with the & operator and no built-in history or auto-completion mechanisms. In terms of compatibility and performance, cmd.exe can invoke the NT Virtual DOS Machine (NTVDM) subsystem to emulate a COMMAND.COM environment, allowing 16-bit DOS applications to run within Windows NT sessions, though the reverse—running cmd.exe under DOS—is impossible due to architectural incompatibilities. Performance-wise, cmd.exe benefits from the NT kernel's preemptive multitasking, enabling concurrent command execution and larger configurable screen buffers (up to 32,767 characters wide and thousands of lines high) for handling extensive output. COMMAND.COM operates in a single-tasking DOS context with fixed, limited buffers typically constrained to 80x25 text mode, restricting it to sequential operations without modern multitasking support. Both interpreters share core internal commands like DIR for directory listings, ensuring some continuity in basic operations.

With modern shells

In contrast to cmd.exe's line-based, text-oriented processing and batch file scripting, PowerShell operates as an object-oriented shell that employs cmdlets—specialized .NET-based commands—and pipelines that pass structured .NET objects rather than plain text streams, enabling more robust data manipulation and automation. Introduced by Microsoft in November 2006, PowerShell was included by default starting with Windows 7 and later versions. It became the default profile in Windows Terminal, which superseded the traditional console host as the default console experience in Windows 11 version 22H2 (October 2022), where it is preferred over cmd.exe for complex administrative tasks due to its extensibility and integration with Windows Management Instrumentation (WMI). This paradigm shift allows PowerShell to handle structured data natively, reducing the parsing errors common in cmd.exe's text-based pipelines, though cmd.exe remains accessible for legacy compatibility. Cmd.exe also integrates with the modern Windows Terminal, a multi-tabbed, customizable host application released in preview by Microsoft in 2019, where it functions as a selectable profile alongside PowerShell and other shells. Within Windows Terminal, cmd.exe benefits from enhanced features such as tabbed interfaces, split panes, and GPU-accelerated text rendering for smoother performance on high-resolution displays, but it preserves its original legacy syntax and lacks native support for Terminal's advanced customization options like themes or command palette actions. This setup, which became the default console experience after the October 2022 Windows 11 update, allows users to launch cmd.exe sessions without altering its core behavior. Microsoft has recommended PowerShell as the primary tool for scripting and automation since deprecating PowerShell 2.0 in 2017, positioning it as the future-proof successor to cmd.exe for enterprise environments, while cmd.exe receives only essential security updates for backward compatibility in Windows 11 and Server 2025. Despite this, cmd.exe persists in hybrid workflows, as administrators can invoke PowerShell directly from it using commands like powershell.exe -Command "Get-Process", facilitating seamless transitions in administrative tasks without full migration. Cmd.exe's ongoing maintenance ensures reliability for existing batch scripts in production systems. Cmd.exe retains advantages in simplicity for ad-hoc commands and quick file operations, where its minimal syntax avoids PowerShell's steeper learning curve for basic users, and it provides unmatched backward compatibility for decades-old batch files that may not run reliably in PowerShell without adjustments. This makes it a preferred choice in constrained environments or for troubleshooting legacy applications as of 2025.

References

  1. [1]
    cmd | Microsoft Learn
    May 23, 2025 · Starts a new instance of the command interpreter, Cmd.exe. If used without parameters, cmd displays the version and copyright information of the operating ...PowerShell Documentation · Command-line syntax key · Cmdkey · Color
  2. [2]
    [PDF] Windows Commands - Download Center
    The command shell in the Windows Server operating system uses the command interpreter, Cmd.exe. Cmd.exe loads applications, directs the flow of information ...
  3. [3]
    Windows commands | Microsoft Learn
    Jul 29, 2025 · This set of documentation describes the Windows Commands you can use to automate tasks by using scripts or scripting tools.Cmd · Windows Start · Command-line syntax key · Microsoft Ignite
  4. [4]
    The Evolution of the Windows Command-Line
    Jun 27, 2018 · Specifically, we'll explore its humble origins in MS-DOS, to its modern-day incarnation supporting tools like PowerShell and Windows Subsystem ...
  5. [5]
    Therese Stowell - Product School
    Therese started her career as a Software Design Engineer at Microsoft, where she was one of 10 programmers on the original Windows NT coding team including ...
  6. [6]
    cmd - When was Batch created? - Stack Overflow
    Apr 7, 2015 · In 1993 Windows NT was released packed with the new cmd.exe (along with the old command.com) created by Therese Stowell - it has a lot new ...
  7. [7]
    Computer industry luminaries salute Dave Cutler's five-decade-long ...
    Apr 15, 2016 · Windows NT 3.1 shipped on July 27, 1993. The team was exhausted, but exhilarated. “People work for Dave because they know the project is ...
  8. [8]
    Windows Command-Line: Inside the Windows Console
    Jul 20, 2018 · During the initial development of Windows NT, circa 1989, there was no GUI, there was no desktop, there was ONLY a full-screen command-line, ...
  9. [9]
    Microsoft Announces the Release of Windows NT Workstation 4.0
    Jul 31, 1996 · Microsoft Windows NT Workstation version 4.0 will be available within the next month for approximately $319. The price for customers upgrading ...
  10. [10]
    Windows batch files: .bat vs .cmd? - Stack Overflow
    Sep 29, 2008 · Here is a list of cmd.exe features that are not supported by command.com : Long filenames (exceeding the 8.3 format); Command history; Tab ...
  11. [11]
    Before OS/2 Was OS/2
    Feb 5, 2016 · The protected mode shell, CMD.EXE, was very similar to COMMAND.COM from the user's point of view. One notable addition was the DETACH command ...
  12. [12]
    How To Use Windows Command Prompt? - Technology Org
    The first version of cmd for Windows NT was developed by Therese Stowell, and Windows CE 2.11 was the first embedded version of Windows to include cmd support.
  13. [13]
    Help for all Windows 2000 SP 4 commands
    Jul 28, 2015 · The AT command schedules commands and programs to run on a computer at a specified time and date. The Schedule service must be running to use the AT command.
  14. [14]
    Windows Command Line Auto Completion [HowTo] - AutoHotkey
    Sep 28, 2007 · At a clean command prompt, type "dir \P" then start hitting tab. Now you'll be cycling through all the directories that start with "P" in the root of the ...
  15. [15]
    Help for all Microsoft Windows XP commands - UCSD Math
    Clears the screen. CMD, Starts a new instance of the Windows command interpreter. COLOR, Sets the default console foreground and background colors.
  16. [16]
    How to Use Windows Command Prompt | A Guide - NinjaOne
    May 30, 2024 · Open CMD with Windows key + R, type 'cmd', then Enter. Use 'cd' to navigate, 'dir' to list files, and 'exit' to close.
  17. [17]
    An overview on Windows Terminal | Microsoft Learn
    Feb 2, 2024 · Any application that has a command line interface can be run inside Windows Terminal. This includes everything from PowerShell and Command ...Install · Command line arguments page · Tutorial: Set up a custom... · Actions page
  18. [18]
    Use ANSI colors in the terminal - Windows CMD - SS64.com
    To use ANSI colours in the Windows terminal requires setting VirtualTerminalLevel. VirtualTerminalLevel = 1 is now set by default for the terminal and in ...
  19. [19]
    Command Prompt and Windows Powershell - Microsoft Support
    In Windows 11 22H2, the default app used to host console windows has been changed to Windows Terminal. After the October 2022 update, Command Prompt, ...Missing: deprecation | Show results with:deprecation
  20. [20]
    How to run a .bat file on a Windows CE Handheld PC using cmd.exe
    Jan 4, 2009 · How to run a .bat file on a Windows CE Handheld PC using cmd.exe · Applies To. Windows CE 2.11, 3.0, 4.0, 4.1, 4.2, 5.0, 6.0 · Overview. This ...
  21. [21]
    ReactOS 0.4.15 released
    This release offers Plug and Play fixes, audio fixes, memory management fixes, registry healing, improvements to accessories and system tools.Plug And Play · Accessories And System Tools · ShellMissing: cmd. exe
  22. [22]
    ReactOS 0.4.15 Released With Major Improvements - Hackaday
    Mar 25, 2025 · The update introduces sweeping changes to everything from the kernel to the user interface and aspects like the audio system and driver support.
  23. [23]
    How do I get to CMD? - Microsoft Q&A
    Apr 5, 2023 · Way 1: Press Windows + R keys and type cmd in the "Run" dialog. Press enter to open cmd. Way 2: Click on the Start menu and type cmd or command prompt.Missing: launch | Show results with:launch
  24. [24]
    Help opening a command prompt in File Explorer. - Microsoft Learn
    Jan 23, 2019 · Navigate to any folder in File Explorer. Then in the Address Bar at the top, type cmd and hit Enter. Command Prompt will open on that folder . .
  25. [25]
    prompt | Microsoft Learn
    Feb 3, 2023 · Changes the Cmd.exe command prompt, including displaying any text you want, such as the name of the current directory, the time and date, or the Microsoft ...
  26. [26]
    color | Microsoft Learn
    Sep 20, 2023 · To set the default Command Prompt window color, select the upper-left corner of the Command Prompt window, select Defaults, select the Colors ...
  27. [27]
    cmd keyboard shortcuts - Microsoft Q&A
    Jun 27, 2012 · LeftArrow move to the left to allow editing of chars to the left after using (F3, RightArrow, etc...) Up/Down Arrow - move to previous/next ...
  28. [28]
    exit | Microsoft Learn
    Nov 1, 2024 · Exits the current batch script instead of exiting Cmd.exe. If executed from outside a batch script, exits Cmd.exe. <exitcode>, Specifies a ...
  29. [29]
    CMD.exe (Command Shell) - Windows CMD - SS64.com
    Multiple commands separated by the command separator '&' or '&&' are accepted if surrounded by quotes. In Windows Explorer, you can type "cmd" in the address ...
  30. [30]
    Command Redirection, Pipes - Windows CMD - SS64.com
    Redirection with > or 2> will overwrite any existing file. You can also redirect to a printer with > PRN or >LPT1 or to the console with >CON. To ...
  31. [31]
    Command prompt line string limitation - Windows Client
    Jan 15, 2025 · This article describes about limiting the maximum string length at the command prompt, and provides solutions to fix the limitation.
  32. [32]
    Quotes, Escape Characters, Delimiters - Windows CMD - SS64.com
    Delimiters separate one parameter from the next - they split the command line up into words. Parameters are most often separated by spaces.
  33. [33]
    Long paths with spaces require quotation marks - Windows Server
    Jan 15, 2025 · Long filenames or paths with spaces are supported by NTFS in Windows NT. However, these filenames or directory names require quotation marks around them.
  34. [34]
    When can the Windows command line tool directly copy/paste using ...
    Nov 1, 2019 · The Windows command line can also be copied/pasted directly using Command / Ctrl + C / V. At present, some terminal tools such as PowerShell ...
  35. [35]
    Converting .mbat files to .cmd files - Microsoft Q&A
    Mar 19, 2024 · The .cmd and .bat are both script files for the Windows command prompt. The difference between the two is that .cmd is used for scripts that run ...
  36. [36]
    echo
    ### Summary of `@echo off` in Batch Files
  37. [37]
    rem | Microsoft Learn
    Feb 3, 2023 · Although you can use rem without a comment to add vertical spacing to a batch file, you can also use blank lines. Blank lines are ignored when ...
  38. [38]
    goto | Microsoft Learn
    Feb 3, 2023 · Reference article for the goto command, which directs cmd.exe to a labeled line in a batch program.
  39. [39]
    if - Microsoft Learn
    Feb 3, 2023 · Reference article for the if command, which performs conditional processing in batch programs.
  40. [40]
    set (environment variable) - Windows commands - Microsoft Learn
    Sep 6, 2023 · Displays, sets, or removes cmd.exe environment variables. If used without parameters, set displays the current environment variable settings.
  41. [41]
    for | Microsoft Learn
    Oct 5, 2023 · Specifies any command-line options that you want to use with the specified command. Displays help at the command prompt.
  42. [42]
    type | Microsoft Learn
    Feb 3, 2023 · In the Windows Command shell, type is a built in command which displays the contents of a text file. Use the type command to view a text ...Missing: internal | Show results with:internal
  43. [43]
    OS/2 High Performance File System - EDM2
    Nov 2, 2022 · OS/2 1.2(1) adds a number of new functions for access to installable file systems. These include: DosCopy Copies a file or subdirectory ...
  44. [44]
    Kermit 95 - OS/2 Specifics
    The SET FILE TYPE LABELED command allows OS/2 files to be transferred with all their extended attributes intact -- desktop material, icons, long file names on ...
  45. [45]
    en:docs:os2:cmdref [osFree wiki]
    [ ] ? - List the internal commands · [ ] ACTIVATE - Activate a window · [ ] ALIAS - Create or display aliases · [ ] ATTRIB - Change or view file attributes · [ ] ...
  46. [46]
    [PDF] Programmer's Guide
    Chapter 1 Introduction to Windows CE . ... Cmd.exe in Microsoft Windows NT®. This processor relies on a console driver ...
  47. [47]
    Why doesn't my batch file work in Windows CE? - Stack Overflow
    Mar 26, 2019 · The Windows CE command shell is not nearly as powerful as it's NT brothers. Set /P is not supported under CE. The shell hasn't changed since v5.How to access remote filesystem on Windows CE device via ...How do I retrieve the OEM version of a Windows CE device in .NET ...More results from stackoverflow.comMissing: 2.11 | Show results with:2.11<|separator|>
  48. [48]
    How to use batch (.bat) scripting files in Windows CE 5.0?
    DOS batch files (.bat) can be used in Windows CE to perform simple scripting tasks. A batch file is a script file containing commands written in the ...
  49. [49]
    Why is ReactOS based on a 17-year-old version of Windows?
    Jul 4, 2020 · ReactOS is supposed to be binary compatible with Windows Server 2003 and later versions of Windows. Its code is a reverse-engineering of that of Windows Server ...Missing: exe | Show results with:exe
  50. [50]
    base/applications/cmdutils/tasklist/tasklist.h Source File - ReactOS
    PURPOSE: Displays a list of currently running processes on the computer. 5 * COPYRIGHT: Copyright 2020 He Yang <1160386205@qq.com>Missing: exe implementation 2024
  51. [51]
    Internal commands - Windows CMD - SS64.com
    Passing arguments. In some cases (when the command is being parsed by CMD.exe) the space before each argument can be omitted e.g. COPY/Y this can save time ...
  52. [52]
    Environment variable expansion occurs when the command is read
    Aug 23, 2006 · Immediate expansion is performed with percent signs, whereas delayed expansion is performed with exclamation points. Why is immediate ...
  53. [53]
    EnableDelayedExpansion - Windows CMD - SS64.com
    Delayed Expansion was introduced some 16 years later in 1999 by which time millions of batch files had been written using the earlier syntax. Retaining ...
  54. [54]
    path | Microsoft Learn
    Feb 3, 2023 · Sets the command path in the PATH environment variable, specifying the set of directories used to search for executable (.exe) files.<|separator|>
  55. [55]
    flattemp | Microsoft Learn
    Nov 1, 2024 · The default method for creating temporary folders for multiple users (usually pointed to by the TEMP and TMP environment variables) is to create ...
  56. [56]
    Cant use Command Prompt - Microsoft Q&A
    May 28, 2020 · I cannot see from your screenshot, in the bottom pane, System Variables do you have Comspec and is that set to %SystemRoot%\system32\cmd.exe.
  57. [57]
    Understanding Windows Console Host Settings
    Jun 20, 2017 · When modifying 'Properties', changes will be persisted to either the per-Console-application settings in the registry, or to the Windows ...
  58. [58]
    Command-Line Reference | Microsoft Learn
    Aug 31, 2016 · Cmd.exe loads applications, directs the flow of information between applications, and translates user input into a form that the operating ...
  59. [59]
    Windows 7 and 16 bit programs' problems. - Microsoft Learn
    Jun 13, 2010 · In the Windows\System32 folder you should see config.nt and autoexec.nt. (These will not be present in 64 bit versions.) These are the ...
  60. [60]
    Difference between DOS and command prompt - Microsoft Q&A
    Oct 24, 2011 · The cmd.exe was developed for use with OS's using the Windows NT kernel. Cmd.exe therefore sits on top of the Windows OS and provides "DOS prompt" command ...
  61. [61]
    The Windows command prompt is *NOT* a DOS prompt!
    May 23, 2012 · The NT command prompt is a native 32-bit Windows program, and does not use NTVDM. The NTVDM is not started until you invoke a DOS program from ...Missing: kernel | Show results with:kernel
  62. [62]
  63. [63]
    Naming Files, Paths, and Namespaces - Win32 apps - Microsoft Learn
    Aug 28, 2024 · A long file name is considered to be any file name that exceeds the short MS-DOS (also called 8.3) style naming convention. When you create a ...Missing: cmd. exe COMMAND.
  64. [64]
    Windows Command-Line: Unicode and UTF-8 Output Text Buffer
    Nov 15, 2018 · In this post, we'll discuss the improvements we've been making to the Windows Console's internal text buffer, enabling it to better store ...
  65. [65]
    NTVDM and 16-bit app support - Compatibility Cookbook
    Nov 17, 2021 · This component allows the execution of 16-bit Windows applications on 32-bit Windows operating systems, as well as the execution of both 16-bit and 32-bit DOS ...
  66. [66]
    Difference between DOS and Windows - GeeksforGeeks
    Jul 12, 2025 · DOS is single tasking operating system. While windows are multitasking operating systems. 2. It consumes low power. While windows consume high power.
  67. [67]
    What is PowerShell? - PowerShell | Microsoft Learn
    Jul 7, 2025 · PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework.
  68. [68]
    PowerShell 2.0 removal from Windows - Microsoft Support
    Aug 11, 2025 · PowerShell 2.0 was officially deprecated in 2017, and it remained ... Recommended: Migrate scripts and tools to a newer PowerShell version
  69. [69]
    about_PowerShell_exe - PowerShell | Microsoft Learn
    Jul 23, 2024 · Explains how to use the `powershell.exe` command-line interface. Displays the command-line parameters and describes the syntax.SHORT DESCRIPTION · LONG DESCRIPTION
  70. [70]
    cmd.exe bugs since 2024 - Microsoft Q&A
    Jul 10, 2025 · Hi, I've been using cmd.exe for 20+ years, currently on Win11 (24H2 26100.4652). In the recent years there were so many bugs introduced to ...
  71. [71]
    These classic Windows programs are somehow still thriving in 2025
    Oct 12, 2025 · Command Prompt, or cmd.exe, sticks around mostly for its simplicity and the sake of older software that still depends on it. It's quick, no ...
  72. [72]
    Comparing CMD, PowerShell, and Windows Terminal - Spyboy blog
    Jan 4, 2025 · Supports a variety of basic commands (e.g., dir , cd , copy ). Backward compatibility with older scripts and batch files. Minimal learning curve ...