coloring Windows XP cmd.exe

You can't do that because the way the Windows console works is fundamentally different from the Linux terminal. On Linux the coloring is done using ANSI escape sequences. From Wikipedia:

ANSI escape sequences are characters embedded in the text used to control formatting, color, and other output options on video text terminals. Almost all terminal emulators designed to show text output from a remote computer, and (except for Windows) to show text output from local software, interpret at least some of the ANSI escape sequences.

This pretty much means that coloring (and formatting in general) can be controlled by the user, even when the original program had no provision for that, by simply using strings which contain ANSI escapes.

On Windows, the console formatting has to be done explicitly by the program. Each character cell is comprised of two 16-bit codes: a Unicode character and a style word (mainly color information). The program has to use the low-level API output functions to set the style information, otherwise all characters use the default style (gray on black).

The moral of the story I guess is that Windows and Linux are two completely different operating systems. It is therefore better to get used to their idiosyncrasies, than to fight to fit either one to the mindset of the other. That way madness lies.


Open Command Prompt, right click on the header bar at the top, select Properties, customize it in there:

Selecting Properties

Changing the colours


Running cmd.exe /t:12 will create a command prompt window with a blue background and green text.

You can find a list of available colors here.