Skip to main content

Windows COMMAND.COM - Just Say NO

Most people I work with know that I spend a lot of time at the Command Line in both Windows and Linux. The Command Line Interface (CLI) gives me a lot of flexibility to quickly do things that I can't do through the Graphical User Interface (GUI).

However, a lot of users aren't aware that there are two different command line interpreters under Windows....and that using the wrong one can cause problems

People who started using Microsoft Windows 95 or Windows 98 only had one choice: COMMAND.COM. It was a 16-bit application (COMMAND.COM) that ran in a 16-bit environment. No big deal, and people now continue to use it out of habit. However, these same people now use Windows XP, which is a 32-bit Operating System, or in some cases a 64-bit Operating System.

Due to changes in the way the Operating System works in Windows XP (and Windows 2000 or Windows 2003), people couldn't run 16-bit applications. So Microsoft, as part of the Operating System, developed a 16-bit environment that those software programs could use. This environment, call ed the 16-bit NTVDM (NT Virtual DOS Environment), is shared by all 16-bit programs. What this means is that if any 16-bit program crashed or generated an error, it could affect any other 16-bit program also running and even cause it to crash as well. This is why using the wrong shell (COMMAND.COM) could cause problems.

The alternative is to use the program CMD.EXE anytime a use wants a command prompt. It has all the features of COMMAND.COM (and acts like it as well), plus it has additional features as well and does NOT run in the 16-bit environment.

In short, the next time you need a command prompt (shell), use CMD instead of COMMAND.