次の方法で共有


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-HostWrite-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

このコマンドは、 パラメーターを使用して文字列 'no newline test' を 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
  • 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

入力

Object

ホストに書き込まれるオブジェクトをこのコマンドレットにパイプできます。

出力

None

このコマンドレットは、出力を返しません。 ホストにオブジェクトを送信します。 ホストは、このコマンドレットが送信するオブジェクトを表示します。

メモ

  • コレクションをホストに書き込む場合、コレクションの要素は 1 つのスペースで区切られた同じ行に印刷されます。 これは Separator パラメーターで オーバーライドできます。

  • プロパティを持つオブジェクトなどの非プリミティブ データ型は、予期しない結果を引き起こし、意味のある出力を提供しない可能性があります。 たとえば、 Write-Host @{a = 1; b = 2} はホストに出力 System.Collections.DictionaryEntry System.Collections.DictionaryEntry されます。