The Windows command prompt is *NOT* a DOS prompt!

Sorry, this is just a pet peeve of mine. I keep reading “DOS prompt” everywhere, even in academic literature, when people are actually referring to the Windows command prompt.

Now, historically, yes, it once was a DOS prompt. But this was back in the days that Windows was still built on top of DOS itself. We are talking Windows 9x and earlier 16-bit versions of Windows. Windows NT has always had the “command prompt”, the cmd.exe process. Microsoft never referred to it as a DOS prompt, because it simply wasn’t.

What the command prompt was, and still is, is just that: a command line interpreter. Not all CLI’s are DOS. There are plenty of OSes out there that use a CLI. DOS was not the first, and not the only one. So, Windows also has its own CLI. Yes, it is similar to DOS (then again, in a way, they’re all similar. They all carry traits from early CLIs from UNIX and CP/M). But no, it is NOT DOS.

In 32-bit versions of NT, you could run DOS applications. In fact, you could even run the REAL DOS command prompt (which is command.com, not cmd.exe) inside Windows NT. However, these DOS processes would be started inside the NTVDM, the 16-bit virtual machine for DOS and Win16 programs. 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 the command prompt (and like cmd.exe itself, not all Win32 programs are GUI-based, there are plenty of native Win32 command line tools as well).

Now, with 64-bit versions of Windows, there is no NTVDM anymore. Therefore, you can no longer run DOS programs at all. Not even from the Windows command prompt. The only way to run DOS programs on a 64-bit version of Windows is to use an emulator, such as Dosbox. So you see how silly it is to refer to the Windows command prompt as a DOS prompt in this day and age?

This entry was posted in Software news and tagged , , , , , , , . Bookmark the permalink.

11 Responses to The Windows command prompt is *NOT* a DOS prompt!

  1. nickysn says:

    Yes, you are absolutely correct. However, think about it from the user point of view. What’s the difference between, say, Windows 98’s “MS-DOS Prompt” and Windows 2000/XP’s “Command Prompt”? There are more similarities than differences:
    – both have the same UI
    – both support roughly the same commands
    – both can run MS-DOS applications
    – both can run console Win32 applications
    – both allow you to start Win32 GUI applications from the command line
    – both support extensions, that aren’t available under plain DOS, like long file names
    Yes, there are a differences under the hood – Windows 98 is running COMMAND.COM as a shell, which is a DOS executable and is actually the default MS-DOS shell, while the NT-based versions of Windows are running cmd.exe, which is a native Win32 console application, etc. However, from a user POV, nothing really changed to justify the name change and I guess that’s why people kept calling it “DOS prompt”. Of course, nowadays it’s a little stupid to call it that way, since, as you have pointed out, on 64-bit versions of Windows you can’t even run DOS programs in it anymore.

    • Scali says:

      As I already said, commandlines all look the same, not just DOS and Windows.

      Besides, you are looking at it from the wrong perspective. DOS has been gone for so long (since XP in 2002 it was completely gone, even for regular consumers, but even before that, most people rarely used DOS, even if they ran Windows 9x), that there are entire generations of computer users who’ve never used DOS at all. So relying on the fact that it *once* was called the MS-DOS Prompt in some versions of Windows more than 10 years ago, has little meaning.
      People who’ve only used XP or newer don’t know what a DOS prompt is. They’ve only used OSes with a Command Prompt.

      And I read this in a book aimed at university students, which was released in 2008. Now, picture that: a first-year university student in 2008… He would be about 18 years old. The last version of Windows that had a DOS Prompt was released when he was only 10 years old.
      I know from personal experience that people fresh out of university simply have little or no command line skills at all. Let alone that they know anything about DOS.

      Especially if you are writing books at an academic level, I expect you to get your terms right, and not cause more confusion than is necessary.

  2. ender says:

    Hah, that’s a pet peeve of mine, too. I’m kinda sorta supporting a Windows port of a certain *nix program, which can in some cases open a console window to print some error messages (it’s a GUI program, but on Windows it’ll sometimes open a console on demand). It’s not even a command prompt, but people insist on calling it a DOS box, so when I was writing a FAQ, I put in that and an <!– ARGH! –> comment next to it.

  3. ender says:

    (and it looks like the comment field interpreted <– ARGH –> literarily. Argh!)

  4. Rishi says:

    but cmd.exe is used a lot by programmers , networking etc . but the interface is still primitive , copy paste etc is still archiac … i wonder why Microsoft never updated it.

  5. jjs says:

    Windows XP isn’t Windows 95 either but they’re still Microsoft Windows. From a functional point of view, its just a newer/updated version. Technically they’re different, functionally the same. Serious semantics, they’re all DOS’s and not *nix consoles.

    • Scali says:

      That is not correct.
      Windows 95 is a DOS-based Windows (runs on top of DOS 7.x).
      Windows XP is an NT-based Windows, not a DOS.

    • Neil says:

      You could also be pedantic and say not all DOS’ are from Microsoft. MS-DOS (or PC/DOS if you are old enough) is what you are talking about, but other DOS’ are available (CP/M, BeOS, Amiga DOS etc are all DOS’).

  6. Shubham Jaiswal says:

    i have win 10, i make a console app (runs on cmd.exe) on codeblock using C++ lang, but when i run it on win 7 cmp prompt it shows bigger font and the UI is completely changed. while win 10 everyhting is great, but win 7 cmd UI is masses my app, still its working but everthing get streched every line is divided into two… why this happen. ??

Leave a comment