Список всех цветов, доступных для PowerShell?

Я ищу список всех цветов, которые я могу использовать в PowerShell. Поскольку нам нужно предоставить имена и не шестнадцатеричные номера, трудно понять, существует ли цвет или нет, по крайней мере, если вы не знаете, как :))

например, as -foregroundcolor

write-host "hello world" -foregroundcolor "red"

5 ответов


цвета консоли находятся в перечислении под названием [System.ConsoleColor]. Вы можете перечислить все значения, используя статический метод GetValues [Enum]

[Enum]::GetValues([System.ConsoleColor])

или просто

[Enum]::GetValues([ConsoleColor])

Я нашел полезным просмотреть, как цвета консоли будут отображаться с помощью простой вспомогательной функции:

function Show-Colors( ) {
  $colors = [Enum]::GetValues( [ConsoleColor] )
  $max = ($colors | foreach { "$_ ".Length } | Measure-Object -Maximum).Maximum
  foreach( $color in $colors ) {
    Write-Host (" {0,2} {1,$max} " -f [int]$color,$color) -NoNewline
    Write-Host "$color" -Foreground $color
  }
}

довольно сетке

$colors = [enum]::GetValues([System.ConsoleColor])
Foreach ($bgcolor in $colors){
    Foreach ($fgcolor in $colors) { Write-Host "$fgcolor|"  -ForegroundColor $fgcolor -BackgroundColor $bgcolor -NoNewLine }
    Write-Host " on $bgcolor"
}

screenshot of colourful output

https://gist.github.com/timabell/cc9ca76964b59b2a54e91bda3665499e


Как насчет проверки на помощь? Вот так,get-help write-host скажу вам:

[-BackgroundColor {Black | DarkBlue | DarkGreen | DarkCyan | DarkRed | DarkMagenta | DarkYellow | Gray | DarkGray | Blue | Green | Cyan | Red | Magenta | Yellow | White}]
[-ForegroundColor {Black | DarkBlue | DarkGreen | DarkCyan | DarkRed | DarkMagenta | DarkYellow | Gray | DarkGray | Blue | Green | Cyan | Red | Magenta | Yellow | White}]

вот пример отображения всех цветовых комбинаций цветов фона и переднего плана.

$FGcolors = [enum]::GetValues([System.ConsoleColor])
$BGcolors = [enum]::GetValues([System.ConsoleColor])

Foreach ($FGcolor in $FGcolors)
{
    Foreach ($BGcolor in $BGcolors)
    {
        Write-Host ("Foreground: $FGColor BackGround: $BGColor")  -ForegroundColor $FGcolor -BackgroundColor $BGcolor
    }
}