Cmd.exe

cmd.exe is the default command line shell of the Windows NT and CE family of operating systems.

Description
The command syntax is based on that used in command.com and batch files in general, so the two applications are often confused, but the differences between the two shells are deep: command.com is a 16-bit application maintained for compatibility with MS-DOS and Windows 9x family of operating systems, so on the NT family of systems is carried out within the NTVDM virtual machine, resulting in a performance hit.

On the contrary, cmd.exe is a 32-bit console, which is natively run from Windows NT and supports a number of additional features compared to command.com, which were added gradually in later versions of Windows, for example Numerous extensions to IF, SET and FOR commands, delayed parameter expansion, command history accessible via the arrow keys, automatic path completion (disabled by default before Windows XP).

Having to remain backward compatible, however, with the batch language, the cmd.exe shell remains rather limited compared to the most widespread in the field * nix shell (such as sh, bash, csh, tcsh, ksh, to mention the most well-known); To overcome this lack, Microsoft has developed other scripting solutions such as Windows Script Host and Windows PowerShell over time.