DOS Window cmd.exe prompt

If you have a unix background or have a DOS background, you know how valuable
the command-shell can be for administrators. I work in that dark place
constantly and get harrassed by the youngsters that only know the Windows GUI.
But its amazing how little use the GUI is when one needs to perform the same
task for 100 accounts or 30 servers. It gets really wearing to use the GUI. Unix
has a very full-featured ability to customize the prompt. The DOS emulator in
NT, W2K and XP has useful features also. My favorite is the UNC name that will
display the UNC name of the server you have a net use
to. My standard prompt is now:

prompt $m$_$p$g

This keeps me from getting confused when I am coping files from server
to server. For example, lets say I have a network drive P: mapped to
\\serverp\shareA and a network drive Q: mapped to \\serverq\shareA, then the
prompt when I am on drive P: displays as


and if I change to drive Q:


Its great if you have drive letters for multiple remote servers opened. Much
easier than trying to remember what drive letler Q:, R:, S:, T:, etc are mapped
to. For the options available to the prompt command,
issue the command help prompt :

PROMPT [text]

text Specifies a new command prompt.

Prompt can be made up of normal characters and the following special codes:

$A & (Ampersand)
$B | (pipe)
$C ( (Left parenthesis)
$D Current date
$E Escape code (ASCII code 27)
$F ) (Right parenthesis)
$G > (greater-than sign)
$H Backspace (erases previous character)
$L < (less-than sign)
$N Current drive
$P Current drive and path
$Q = (equal sign)
$S (space)
$T Current time
$V Windows XP version number
$_ Carriage return and linefeed
$$ $ (dollar sign)

If Command Extensions are enabled the PROMPT command supports
the following additional formatting characters:

$+ zero or more plus sign (+) characters depending upon the
depth of the PUSHD directory stack, one character for each
level pushed.

$M Displays the remote name associated with the current drive
letter or the empty string if current drive is not a network

If this doesn’t work for you, the command extensions may have been disabled.
To temporarily enable the extensions:

cmd /x
enables command extensions for this cmd session

If the extensions now work, you can permanently enable them using the Windows
2000 / Windows XP registry hack:

Enable / Disable Command
(cmd.exe) prompt extensions

CMD.exe looks like a normal DOS prompt but it isn’t
DOS. Nor is it a DOS emulator. It’s a native 32-bit application that has little
to do with DOS except for the user interface and its shell supporting similar
commands. From a unix perspective, cmd.exe is
NT/W2K/XP’s native shell. Using it, you can run shell commands or any programs.
Some of the commands are the same as in DOS. Run Cmd.exe and you’ll see the
version information displayed in the first two lines:

Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp. is available under NT/W2K/XP and is another shell. When
you run it, you’ll see :

Microsoft(R) Windows NT DOS
(C) Copyright Microsoft Corp 1990-1996.
Note it says NT DOS. Its there to run 16-bit DOS programs. If an
old program will not run under the cmd.exe shell, try running it under Note as a 16-bit program, doesn’t support long

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top