【问题标题】:Write text in orange with Write-Host使用 Write-Host 以橙色书写文本
【发布时间】:2015-03-27 01:49:54
【问题描述】:

我想知道是否可以使用 Write-Host(或其他 PowerShell Cmdlet)以 orange 编写一些彩色文本。

似乎Orange 不是-ForegroundColor 参数的可用颜色,但像Write-Warning 这样的命令能够以橙色显示。

【问题讨论】:

  • 试试 DarkYellow,但对我来说这似乎不起作用...
  • 请记住,使用特定颜色可能会导致问题,因为您无法对用户的背景颜色做出假设,因此您可能会得到一些不可读的内容。

标签: powershell write-host


【解决方案1】:

您可以通过注册表 HKCU\Console 中的 ColorTable00-ColorTable15 键更改 PowerShell 颜色。但是只有十六种颜色可用,因此您必须将已分配的颜色替换为您想要的颜色。然后,您将在您的 write-host 中使用原始名称。

警告:这是未经测试的,可能会影响其他控制台的颜色!

【讨论】:

    【解决方案2】:

    在这里找到似乎是 Write-Host 的代码: Powershell-Misc/Write-Host.ps1 at master · beatcracker/Powershell-Misc · GitHub

    在此处找到 ANSI 转义码: ANSI escape code - Wikipedia

    在这里找到橙色:RGB Color Codes Chart

    根据上述信息构建此代码:

    $Esc = [char]27
    $Ansi24BitTemplate = "$Esc[{0};2;{1};{2};{3}m"
    $Ansi24BitFore = '38'
    $Ansi24BitBack = '48'
    $OrangeForeColor = $Ansi24BitTemplate -f $Ansi24BitFore, 255, 165, 0
    $OrangeBackColor = $Ansi24BitTemplate -f $Ansi24BitBack, 255, 165, 0
    
    Write-Host "$($OrangeBackColor)Testing" -ForegroundColor Black
    Write-Host "$($OrangeForeColor)Testing" -BackgroundColor Black
    

    它给出了这个输出:

    注意:这不适用于某些旧设备和某些情况。但我相信它适用于大多数 Windows 10 计算机。

    【讨论】:

      猜你喜欢
      • 2023-02-03
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 2013-06-16
      相关资源
      最近更新 更多