2013-12-12 28 views
6

Tôi đang tìm kiếm danh sách tất cả các màu tôi có thể sử dụng trong Powershell. Kể từ khi chúng ta cần phải cung cấp tên và không hexnumbers, thật khó để tìm ra nếu một màu tồn tại hay không, ít nhất nếu bạn không biết làm thế nào :))Danh sách tất cả các màu có sẵn cho PowerShell?

ví dụ như -foregroundcolor

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

Trả lời

11

Màu bàn điều khiển nằm trong một enum gọi là [System.ConsoleColor]. Bạn có thể liệt kê tất cả các giá trị bằng cách sử dụng phương pháp GetValues ​​tĩnh của [Enum]

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

hoặc chỉ

[Enum]::GetValues([ConsoleColor]) 
+5

Chỉ cần mở rộng trên mã của mjolinor: [Enum] :: GetValues ​​([System.ConsoleColor]) | foreach {Write-Host "$ _" -ForegroundColor $ _} Điều này sẽ hiển thị tất cả tên của các màu trong màu đã nói –

5

Làm thế nào về kiểm tra sự giúp đỡ? Như vậy, get-help write-host sẽ cho bạn biết:

[-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}] 
+0

tôi đã sử dụng get-gelp cho forgroundcolor và đưa tôi đến hồ sơ PowerShell. cảm ơn bạn anyway – RayofCommand

12

tôi đã tìm thấy nó hữu ích để xem trước cách giao diện điều khiển màu sắc sẽ hiển thị với một hàm helper đơn giản :

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 
    } 
} 
2

Dưới đây là một examle hiển thị tất cả các kết hợp màu sắc của background và foreground.

$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 
    } 
} 
+0

Đầu ra có thể được nén lại, để quét hình ảnh nhanh hơn: 'Write-Host" $ FGColor on $ BGColor " -background $ BGColor -foreground $ FGColor -nonewline'. – JosephHarriott

Các vấn đề liên quan