(1 item) |
|
(1 item) |
|
(5 items) |
|
(1 item) |
|
(1 item) |
|
(2 items) |
|
(2 items) |
|
(4 items) |
|
(1 item) |
|
(6 items) |
|
(2 items) |
|
(4 items) |
|
(1 item) |
|
(4 items) |
|
(2 items) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(2 items) |
|
(2 items) |
|
(5 items) |
|
(3 items) |
|
(1 item) |
|
(1 item) |
|
(1 item) |
|
(3 items) |
|
(1 item) |
|
(1 item) |
|
(2 items) |
|
(8 items) |
|
(2 items) |
|
(7 items) |
|
(2 items) |
|
(2 items) |
|
(1 item) |
|
(2 items) |
|
(1 item) |
|
(2 items) |
|
(4 items) |
|
(1 item) |
|
(5 items) |
|
(1 item) |
|
(3 items) |
|
(2 items) |
|
(2 items) |
|
(8 items) |
|
(7 items) |
|
(3 items) |
|
(7 items) |
|
(6 items) |
|
(1 item) |
|
(2 items) |
|
(5 items) |
|
(5 items) |
|
(7 items) |
|
(3 items) |
|
(7 items) |
|
(16 items) |
|
(10 items) |
|
(27 items) |
|
(15 items) |
|
(15 items) |
|
(13 items) |
|
(16 items) |
|
(15 items) |
Apparently lots of people don't realise that the DOS Prompt, and the Windows Command Prompt are not
the same thing. They're actually two different programs - COMMAND.COM
and CMD.EXE
respectively.
I've seen lots of people struggle on with the DOS Prompt, bitching quietly under their breath about how crummy
the command prompt is in Windows, without realising that they're using the wrong one. (In case you're wondering
why I've seen lots of people do this, one of the various things I do for a living is
teach stuff to software developers, so I get to see the way lots of different
developers use their machines.) It's an easy mistake to make, particularly if you're in the habit of launching
programs from the Run... dialog. (This is really convenient once you've discovered the WindowsKey-R shortcut. Unless
of course you have a laptop without a Windows key.) If you type in
COMMAND
at the Run... dialog, a command prompt appears. And if you don't spend much time at the
command line you may not notice the problem. But you will if you're a seasoned command line user. (I have four open
right now - how about you?) You will instantly recognize that something is wrong, because this appears:
Microsoft(R) Windows DOS (C)Copyright Microsoft Corp 1990-2001. C:\DOCUME~1\IAN>
DOS? DOS!?! And even if you didn't bother to read the banner, there's another big clue that all is
not well right there in the prompt: look - a mangled filename! That's another big clue that we're in the world of DOS,
not the world of Windows. And as if further proof were needed, if you look in your task list after launching
COMMAND.COM
, you won't find an entry for COMMAND.COM
(unless you've enabled
the listing of 16-bit processes), but you will find NTVDM.EXE
- the Virtual DOS Machine.
So this is not the Windows command prompt, it's the DOS command prompt. And as such, it doesn't support
history or command completion, or most of the other features that make the Windows command prompt a reasonably
productive tool once you get to know it. Of course, because it's DOS, you can run good old DOSKEY
to
get command line history back. But you're better off just running the Windows command prompt. You can even launch
16-bit apps from the Windows command prompt if you really need to. The only possible reason for using
COMMAND.COM
is if you have a specific backwards compatibility requirement that forces you to use it
rather than CMD.EXE
. What you want to be seeing is something like this:
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\ian>
The thing that prompted me to post this was that I was just reading Junfeng Zheng's blog. A recent item points out a useful resource for those new to the Windows command prompt. The first comment contains some typically unedifying Linux chest thumping, but it also made me think that whoever wrote the comment had fallen into the classic rookie mistake of confusing a DOS prompt with a Windows Command prompt. (Despite what the guy claims, Windows has supported auto completion since the early days of NT. Not quite sure what he means by 'memorizing' though - I couldn't find any reference to that in any of the documentation for any of the shells installed on my local unix-like boxes. But I did find one bash reference on the web that uses that term to describe command line history. If that's what he meant, I bet he was using the DOS prompt!)