Write-Host
將自訂輸出寫入主機。
Syntax
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
Write-Host
Cmdlet 的主要用途是產生 (主機) -display-only 輸出,例如在提示使用者搭配讀取主機輸入時列印彩色文字。 Write-Host
會使用 ToString () 方法來寫入輸出。 相反地,若要將數據輸出至管線,請使用 Write-Output 或隱含輸出。
您可以使用 參數來指定文字 ForegroundColor
的色彩,也可以使用 參數來指定背景色彩 BackgroundColor
。 Separator 參數可讓您指定用來區隔顯示之物件的字串。 特定結果取決於裝載 PowerShell 的程式。
注意
從 Windows PowerShell 5.0 開始,這是一個包裝Write-Information
函式,Write-Host
可讓您用來Write-Host
發出資訊數據流的輸出。 這可讓您擷 取 或 隱藏 使用 Write-Host
寫入的數據,同時保留回溯相容性。
$InformationPreference
喜好設定變數和InformationAction
一般參數不會影響Write-Host
訊息。 此規則的例外狀況是 -InformationAction Ignore
,可有效地隱藏 Write-Host
輸出。 (請參閱「範例 5」)
範例
範例 1:寫入主控台而不新增一行
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
此命令會以 NoNewline
參數顯示字串 『no newline test』。
第二個字串會寫入,但最後會與第一行相同,因為沒有分隔字串的換行符。
範例 2:寫入主控台並包含分隔符
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
此命令會顯示 2 到 12 之間的偶數。 Separator 參數用來新增字串 , +2=
(逗號、空格、、、+
、、2
空=
格) 。
範例 3:使用不同的文字和背景色彩寫入
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
此命令會顯示 2 到 12 之間的偶數。 它會使用 ForegroundColor
參數來輸出深綠色文字,並使用 BackgroundColor
參數來顯示白色背景。
範例 4:使用不同的文字和背景色彩寫入
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
此命令會顯示「白色文字上的紅色」字串。文字為紅色,如 參數所 ForegroundColor
定義。 背景為白色,如 參數所 BackgroundColor
定義。
範例 5:隱藏來自 Write-Host 的輸出
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null
這些命令會有效地隱藏 Cmdlet 的 Write-Host
輸出。 第一個使用 InformationAction
參數搭配 Ignore
Value 來隱藏資訊數據流的輸出。
第二個範例會將命令的信息數據流重新導向至 $null
變數,進而隱藏它。 如需詳細資訊,請參閱 about_Output_Streams。
參數
-BackgroundColor
指定背景色彩。 沒有預設值。 此參數可接受的值為:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForegroundColor
指定文字色彩。 沒有預設值。 此參數可接受的值為:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewline
輸入物件的字串表示會串連以形成輸出。 輸出字串之間不會插入空格或換行符。 最後一個輸出字串之後不會新增任何換行符。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
要顯示在主機中的物件。
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
指定要在主機所顯示物件之間插入的分隔符字串。
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將物件寫入主機至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。 它會將物件傳送至主機。 主機會顯示此 Cmdlet 所傳送的物件。
備註
將集合寫入主機時,集合的專案會列印在以單一空格分隔的相同行上。 這可以使用 Separator 參數覆寫。
非基本數據類型,例如具有屬性的物件可能會導致非預期的結果,而且不提供有意義的輸出。 例如,
Write-Host @{a = 1; b = 2}
會印表System.Collections.DictionaryEntry System.Collections.DictionaryEntry
到主機。