Write-Host
カスタマイズした出力をホストに書き込みます。
構文
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
説明
Write-Host
コマンドレットの主な目的は、for-(host)-display-only 出力を生成することです。たとえば、読み取りホストと組み合わせてユーザーに入力を求めるときに、 のような色付きのテキストを印刷します。
Write-Host
では、 ToString() メソッドを使用して出力を書き込みます。 これに対し、パイプラインにデータを出力するには、 Write-Output または暗黙的な出力を使用します。
パラメーターを使用してテキストの色を ForegroundColor
指定したり、 パラメーターを使用して背景色を BackgroundColor
指定したりできます。 Separator パラメーターを使用すると、個々の表示オブジェクトを区切るための文字列を指定できます。 特定の結果は、PowerShell をホストしているプログラムによって異なります。
注意
Windows PowerShell 5.0 以降では、 Write-Host
を使用Write-Information
Write-Host
して情報ストリームに出力を出力できます。 これにより、下位互換性を維持しながら、 を使用してWrite-Host
書き込まれたデータをキャプチャまたは抑制できます。
ユーザー設定変数とInformationAction
共通パラメーターは$InformationPreference
、メッセージには影響Write-Host
しません。 この規則の例外は です -InformationAction Ignore
。これにより、出力が効果的に抑制されます Write-Host
。 (「例 5」を参照)
例
例 1: 新しい行を追加せずにコンソールに書き込む
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
このコマンドは、 パラメーターを含む文字列 '改行テストなし' を NoNewline
表示します。
2 番目の文字列が書き込まれますが、文字列を区切る改行がないため、最初の文字列と同じ行になります。
例 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
これらのコマンドは、コマンドレットの出力を効果的に Write-Host
抑制します。 1 つ目は、 パラメーターと InformationAction
Value を Ignore
使用して、情報ストリームへの出力を抑制します。
2 番目の例では、コマンドの情報ストリームを変数に $null
リダイレクトし、それを抑制します。 詳細については、「 about_Output_Streams」を参照してください。
パラメーター
-BackgroundColor
背景色を指定します。 既定値はありません。 このパラメーターの有効値は、次のとおりです。
- Black
- 濃い青
- 濃い緑
- 濃いシアン
- 濃い赤
- 濃いマゼンタ
- 濃い黄色
- グレー
- 濃い灰色
- 青
- [緑]
- シアン
- [赤]
- 赤紫
- 黄
- 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 |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForegroundColor
文字の色を指定します。 既定値はありません。 このパラメーターの有効値は、次のとおりです。
- Black
- 濃い青
- 濃い緑
- 濃いシアン
- 濃い赤
- 濃いマゼンタ
- 濃い黄色
- グレー
- 濃い灰色
- 青
- [緑]
- シアン
- [赤]
- 赤紫
- 黄
- 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 |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewline
入力オブジェクトの文字列表現が連結され、出力が形成されます。 出力文字列の間にスペースや改行は挿入されません。 最後の出力文字列の後に改行は追加されません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
ホストに表示するオブジェクト。
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
ホストによって表示されるオブジェクト間に挿入する区切り文字を指定します。
Type: | Object |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
ホストに書き込まれるオブジェクトをこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。 ホストにオブジェクトを送信します。 ホストは、このコマンドレットが送信するオブジェクトを表示します。
メモ
ホストにコレクションを書き込む場合、コレクションの要素は、1 つのスペースで区切られた同じ行に出力されます。 これは Separator パラメーターで オーバーライドできます。
プロパティを持つオブジェクトなどの非プリミティブ データ型は、予期しない結果を引き起こし、意味のある出力を提供しない可能性があります。 たとえば、
Write-Host @{a = 1; b = 2}
はホストに出力System.Collections.DictionaryEntry System.Collections.DictionaryEntry
されます。
関連リンク
フィードバック
フィードバックの送信と表示