web-dev-qa-db-ja.com

PowerShellで使用できるすべての色のリスト?

PowerShellで使用できるすべての色のリストを検索しています。名前と16進数ではなく名前を指定する必要があるため、色が存在するかどうか、少なくとも方法がわからない場合はわかりません:))

たとえば、-foregroundcolor

write-Host "hello world" -foregroundcolor "red"
18
RayofCommand

コンソールの色は[System.ConsoleColor]と呼ばれる列挙型にあります。 [Enum]のGetValues静的メソッドを使用してすべての値をリストできます

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

あるいは単に

[Enum]::GetValues([ConsoleColor])
23
mjolinor

プリティグリッド

$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

21
Tim Abell

シンプルなヘルパー関数でコンソールの色がどのように表示されるかをプレビューすると便利です。

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
  }
}
18
Emperor XLII

ヘルプをチェックしてみませんか?そのようです、 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}]
6
vonPryz

以下は、背景色と前景色のすべての色の組み合わせを表示する例です。

$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
    }
}
2
Bonny Lindberg

それほど難しいことではありません。タブ補完はあなたの友達です。 -foregroundcolor(または一意の省略形)の後にタブを押すと、それらがリストされます。 emacs編集モードでは、すべてが一度にリストされます。

set-psreadlineoption -editmode emacs  # put in your $profile


write-Host hello world -f # press tab, it actually appears above it

Black        Cyan         DarkCyan     DarkGreen    DarkRed      Gray         Magenta      White        
Blue         DarkBlue     DarkGray     DarkMagenta  DarkYellow   Green        Red          Yellow    

また、ドキュメントの-foregroundcolorにもあります: https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.utility/write-host?view=powershell-7

0
js2010