Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What are the operations that are possible in but not supported in cmd.exe and vice-versa?

These pages give a beginners description: vs cmd.exe and What's the difference between COMMAND.COM and CMD.EXE?

However, I am looking for some practical situations where it is more appropriate (or correct) to use

share|improve this question

migrated from Jan 26 '10 at 16:27

This question came from our site for professional and enthusiast programmers.

up vote 3 down vote accepted

On machines where there still is a this is run by the NTVDM. The version included in those systems is—to my knowledge—identical with DOS 6.2 and can therefore be used to run batch files that expect such a system.

For all practical purposes however, you can just use cmd.exe as its commands are (mostly) a super-set of's.

Contrary to Alex' answer, you don't need to run 16-bit programs from Windows takes care of starting such programs in the NTDVM itself.

As for the commands available in either shell, you can take a look here which has four columns referring to availability in DOS and Windows.

share|improve this answer
Actually, it's a lot closer to DOS 7. (Betcha never heard of that before!) – SamB Jun 1 '10 at 1:28

use CMD.EXE to run batch scripts or other interactive terminal operations, such as getting network diagnostics or manually configuring mount-points.

use COMMAND.COM to run legacy DOS programs, such as old games or accounting packages, since it simulates the operation of an ancient DOS computer.

COMMAND.COM can also run batch scripts etc, but has an older, more limited interface which will make it more difficult. It may also consume more memory and CPU resources to do the same task, since it has all the overhead of simulating the ancient DOS computer, which CMD does not.

share|improve this answer
You don't need to run just for executing other programs. Legacy batch files yes, programs definitely not. It's not as if was a magic gateway into the 16-bit world. It's just another 16-bit application. – Joey Jan 26 '10 at 18:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .