How to change ONLY the prompt color of the Windows command-line?

23

9

As we all know, Windows command-line have the white-black color scheme. And we could use:

COLOR

command to change the colors of background and text.

But the command above will change the whole text in the command-line. E.g. the result of command is as follows:

COLOR 04

enter image description here

But I don't want this kind of color-scheme because that makes no difference with the original white-black one. It is hard to distinguish the command you input and the output of the command. What I want is something like this:

enter image description here

I want the color of command prompt is different with other text on the screen so that I can find the command I input easily. But I only get the solution on Linux. It uses:

export PS1=”\[\e[35;1m\][\u@\h: \W]\$\[\e[0m\] “

So my question is:

How can I change the color of command prompt like the above one on Windows?

Thanks very much.

Solution:

Following the prompt of @Luke I finally get the solution. Anyone who is interested in this topic please hit the two links below:

https://stackoverflow.com/questions/6297072/color-for-the-prompt-just-the-prompt-proper-in-cmd-exe-and-powershell & http://gynvael.coldwind.pl/?id=130

It is "ANSI hack developped for the CMD.exe shell".

Wish that would be helpful for you.

feihu

Posted 2012-05-22T01:51:17.767

Reputation: 341

Question was closed 2018-01-07T08:55:43.323

@Luke, Citation needed for such an assertion.

– Pacerier – 2015-08-24T09:40:28.673

Is it possible to make the command output a different color than the command itself? – mbomb007 – 2019-10-03T18:41:27.183

1The native Windows command prompt is not this configurable; you'll have to use a 3rd party solution. – Luke – 2012-05-22T02:08:44.873

1@Luke Is there any existing 3rd party solution you know? – None – 2012-05-22T02:35:50.757

Answers

23

  1. Get ANSI color support:

    • NOTE: Current/Updated Windows 10 console already supports ANSI

    • Install ANSICON (source) for ANSI support in legacy windows consoles.

    • Hyper supports ANSI colors.

    • ConEmu supports ANSI colors.

  2. Setup your command prompt via environment settings...

    • Click / press Start
    • type env
    • Click Edit environment variables for your account
    • Edit / Add a PROMPT variable

  3. More information on prompt options

  4. My own prompt...

    • $_$E[1;30;40m[$E[0;36;40m%computername% | %userdomain%\%username%$E[1;30;40m] $E[0;33;40m$M$_$E[35;40m$d$s$t$h$h$h$h$h$h$_$E[1;33;40m$p$_$E[1;30;40m$g $E[0;37;40m
    • $E - escape character
    • $E[...m - ANSI Color Sequence
    • $_ - New line
    • $d - Date
    • $t - Time
    • $h - Backspace (get rid of seconds and fractional seconds)
    • $p - Current Path
    • $m - Mount Path (if in a mounted drive)
    • $g - Greater than sign

Tracker1

Posted 2012-05-22T01:51:17.767

Reputation: 563

I've set %prompt% tojavascript:var str = '$_$d, $t → $p:$_'; for(x=0; x<511-str.length; ++x)document.write('='); document.write(str);. It doesn't require any 3rd party apps and solves the problem color is trying to solve. – Pacerier – 2015-08-24T10:36:26.637

@Pacerier do you have a url or reference to the support of javascript: for a prompt environment variable? – Tracker1 – 2016-01-23T00:23:09.613

@Tracker1, No it doesn't work that way. I see the confusion now.... I meant , I've set %prompt% to the output of javascript:var str = '$_$d, $t → $p:$_'; for(x=0; x<511-str.length; ++x)document.write('='); document.write(str); – Pacerier – 2016-01-23T04:41:36.763