The most commonly used prompt string is probably $P$G
, which results in a prompt like this:
C:\>_
However, with a little help from ANSI and some imagination, you can liven up your prompt.
You can use any string you like for a prompt, though long strings may prove to be quite impractical.
Note: | ANSI is not available by default in 32-bit or 64-bit Windows, only in (DOS based) 16-bit Windows (95/98/ME). |
Code | Result |
---|---|
$A | & |
$B | | |
$C | ( |
$D | Current date |
$E | Escape character |
$F | ) |
$G | > |
$H | Backspace (ignored if redirected) |
$I | Info bar (OS/2) |
$L | < |
$M | UNC name for current drive if remote (NT) |
$N | Current drive |
$P | Current directory |
$Q | = |
$R | Error level (OS/2) |
$S | Space (NT) |
$T | Current time |
$V | Operating system version |
$X | Operating system revision level (OS/2 DOS prompt) |
$_ | New line |
$$ | $ |
$+ | A series of "+" signs corresponding to the number of pushed directories on the PUSHD stack (NT) |
It is options like $B, $L and $G that allow us to abuse the PROMPT command, as is shown in some extreme batch file examples.
PROMPT's $D and $T options can be utilized to store the week day, current date and current time in environment variables, independent of the operating system's language! See the Date/Time page to find out how this can be achieved.
PROMPT $E[0;1;33m$D$_ $T$H$H$H$H$H$H$E[31m [$P]$E[0m
The prompt command shown here will make your prompt look like this:
Thu 11/21/24
10:41 C:\>_
PROMPT $V $X$_Errorlevel$Q$R$_[$P]
The prompt command shown here will make your OS/2 prompt look like this:
Operating System/2 version 4.00
Errorlevel=0
[C:\OS2]_
An OS/2 DOS prompt, however, will look like this:
Operating System/2 version 4.00 Revision 9.30
Errorlevel=0
[C:\OS2]_
PROMPT $E[s$E[1;1H$E[0;1;33;41m$E[K $P$G$E[1;54H$D $T$H$H$H$H$H$H$E[36;40m$E[u $P$G $E[37m
Depending on your browser settings the above line may not be shown as a single command line.
However, if you use this example in your AUTOEXEC.BAT, it should be typed as a single command line.
Also remember that DOS poses a 127 bytes limit on any command line, so don't overdo it.
The ANSI sequences in this example will do the following:
The result will be an "ordinary" C:\>
prompt in bright cyan at the normal position plus a red bar at the top of the screen, looking somewhat like this:
C:\> Thu 11/21/24 10:41 C:\>_
page last modified: 2016-09-19; loaded in 0.0018 seconds