cmd.exe和PowerShell中的PROMPT(仅适用于PROMPT)的颜色?

Lum*_*umi 23 powershell cmd prompt command-prompt

所以在Bash中你只需配置PS1为你的提示添加颜色.我说的是正确的提示,而不是前景(文本)或背景的颜色.它在Bash中非常简单,如果你需要在凌乱的文本输出中找到你的命令,它会有很大的帮助.

您是否可以cmd.exe为PowerShell 实现相同或后退?彩色提示?

我不知道是否可以通过加载在Win32之前的日子里完成ANSI.SYS.我认为这只是为了使前景和背景丰富多彩.但我可能错了.无论如何,那些日子已经过去,在我们现代(我知道),我们正在使用cmd.exe,或PowerShell.

我知道cmd.exe和PowerShell都能够进行彩色输出.对于cmd.exe,只需运行color /?即可查找.但我的问题不是关于前景和背景,这是人类都知道的 - 它只是改变cmd.exe的提示颜色,可能是通过PROMPT环境变量通过PS1变量为Bash?可能吗?

不,Cygwin不是替代品.我是使用MinTTY的Cygwin用户,我喜欢它.但我仍然希望我的cmd.exe提示色.

EBG*_*een 15

你可以在Powershell中为你的个人资料添加一个提示功能,几乎可以通过提示做你想做的事.例如,像这样:

function prompt
{
    Write-Host "PS $(get-location)>"  -nonewline -foregroundcolor Magenta
    return ' '
}
Run Code Online (Sandbox Code Playgroud)

要打开或创建PowerShell配置文件,请运行以下命令:

if(Test-Path $profile){notepad $profile}else{New-Item -path $profile -type file -force}
Run Code Online (Sandbox Code Playgroud)

  • 你应该至少回到空间.否则PowerShell会在最后添加"PS>". (4认同)

Kri*_*riZ 13

点击此链接.有针对CMD.exe shell开发的ANSI hack

链接到ansi hack

我已经在我的win 7专业版SP1上尝试过它并且像魅力一样

在此输入图像描述

  • 太好了,谢谢!我也可以使用。readme.txt中的说明很好,只是缺少一件事:在64位系统上,您必须将两个DLL(AnsiSupport.dll和DllSpoof.dll)复制到C:\ Windows \ SysWOW64文件夹,而不是C:\ Windows \ system32文件夹。([除非您知道,否则请务必仔细阅读文件夹的技巧!](http://stackoverflow.com/questions/949959))我的系统就是这种情况-Win7 Pro 64位。现在可以正常工作而且色彩丰富-再次感谢您,太好了! (3认同)
  • 在Win 10 ansi颜色开箱即用,没有任何黑客攻击 (3认同)
  • ANSI色彩可通过http://code.google.com/p/conemu-maximus5/即时使用 (2认同)

Mik*_*ike 8

基于@KriZ 的回答,ANSI 转义序列在cmd.exe2019年的 Windows 10 中完美运行。不需要明确调用ansi.sys或复制任何文件。它只是在 Windows 10 中开箱即用。

例如,

set PROMPT=$E[1;37m[user@machine:$E[1;35m$P ]$$ $E[1;37m
Run Code Online (Sandbox Code Playgroud)

产生:

示例彩色提示

(注意final后面的空格$

驱动器之前的所有内容都以粗体白色着色,驱动器/文件夹为粗体粉红色,最后一个之后的所有内容$均为粗体白色。

颜色的格式是:

$E[bold_or_not;colorm
Run Code Online (Sandbox Code Playgroud)

m 总是跟在色号后面。bold_or_not = 0 或 1。这是颜色指南:

0     Turn Off Attributes
1     High Intensity
2     Normal Intensity
4     Underline (mono only)
5     Blink
7     Reverse Video
8     Invisible
30    Black
31    Red
32    Green
33    Yellow
34    Blue
35    Magenta
36    Cyan
37    White
40    Black
41    Red
42    Green
43    Yellow
44    Blue
45    Magenta
46    Cyan
47    White
Run Code Online (Sandbox Code Playgroud)

颜色来源:https : //kb.iu.edu/d/aamm


小智 5

这些都是很好的信息,但我没有看到的重要事项是每次运行命令提示符时如何显示自定义提示.在较旧的Windows中,例如XP和之前,您可以将PROMPT环境变量放在AUTOEXEC.BAT文件中,但是在Windows 7到Windows 10中,您可以将其设置为永久性,如下所示:

  • Run使用Windows 打开提示key + R
  • 输入"systempropertiesadvanced"(不带引号)并点击 ENTER
  • 这将打开"系统属性"对话框(您也可以右键单击"我的电脑"并选择"属性"来获取此信息)
  • 选择顶部的"高级"选项卡
  • 选择底部附近的"环境变量"
  • 在下部区域的"系统变量"区域中,查看当前是否有一个名为"提示"的变量(大小写无关紧要)
  • 如果是这样,请编辑提示变量,并将更改作为永久更改
  • 如果没有,请单击底部附近的"新建",对于变量名称,输入PROMPT和变量值,无论您想要它是什么.默认提示的变量值为$ P $ G.
  • 单击确定
  • 运行命令提示符进行测试
  • DONE
  • 注意:我使用自定义命令提示符,它看起来像德克萨斯州旗.这个变量值是: $e[1;44m*$e[41m??$e[0;1m $P$G

(白色条是通过按住ALT并在右侧的键盘上键入223来制作的.此提示中有两个这样的字符.)