如何更改PowerShell提示符的颜色?

4
我经常发现自己在大量相同的行中迷失方向。很难告诉我最近命令的输出开头和以前命令的输出之间的区别。
因此,我想永久更改我的PowerShell提示符颜色,从白色文本和黑色背景变成其他颜色。我该怎么做?
从我的角度来看,提示符由两部分组成:
1.路径 2.命令
如何更改其中任何一个的颜色,而不更改命令的输出颜色?
或者,我也非常希望看到路径部分被下划线标记。这也有助于在其他输出的行中找到我的先前命令,以查看相应的其他输出从哪里开始。这可能吗?


编辑

有些评论要求我对我的问题进行一些详细阐述,因此这里提供了两张屏幕截图,展示实际/期望的情况(请注意红线):

实际情况

enter image description here

预期结果

enter image description here

我希望能在PowerShell 5.x和Core中使用这个功能。
那么,您认为这更像是一个功能请求而不是对现有功能的查询吗?

你可以更改主机的(字体)颜色,但是你是否可以“更改其中任何一个的颜色,而不更改命令的输出颜色?”我不确定。无论如何,重要的是要知道你运行的PowerShell版本。Windows PowerShell、PowerShell Core以及你使用的IDE(如果有)。 - iRon
2个回答

5

1

这是我在上一段中提到的powershell编辑器的图片
我发现如果使用Powershell 5.1,您可以使用ASCII表中的一些转义字符来获得下划线输出:

Write-Host "Hello $([char]27)[4mWorld$([char]27)[24m"

因为我不确定这种方法是否完美有效,突出显示特定文本的最佳解决方案可能是这样的:

function Write-Underlined-Host([string]$text,[boolean]$ispath)
{
    if ($ispath -eq $false)
    { 
        Write-Host $text
    }
    else
    {
        $underline = '-'
        $underline_count = $underline * $text.Length

        Write-Host -Object $text
        Write-Host -Object $underline_count
    }
}

$my_path = 'c:\users\jime\desktop'

Write-Underlined-Host -text $my_path -ispath $true

如果您想更改PowerShell脚本编辑器的颜色(例如,如果您使用ISE),则可以更改所有类型的颜色。
在ISE中: 工具>选项>脚本窗格标记:(请参见我附加的图片)

1
我所需要的只是这一行代码 Write-Host "some text here" -ForegroudColor Yellow - SendETHToThisAddress

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接