次の方法で共有


Write-Output

指定したオブジェクトをパイプラインに書き込みます。

構文

Write-Output
     [-InputObject] <PSObject[]>
     [-NoEnumerate]
     [<CommonParameters>]

説明

指定したオブジェクトをパイプラインに書き込みます。 Write-Outputがパイプラインの最後のコマンドである場合、オブジェクトはコンソールに表示されます。

Write-Output は、オブジェクトをプライマリ パイプライン ( success ストリームとも呼ばれますに送信します。 エラー オブジェクトをエラー ストリームに送信するには、 Write-Errorを使用します。

このコマンドレットは通常、コンソールに文字列およびその他のオブジェクトを表示するためにスクリプトで使用されます。 Write-Outputの組み込みエイリアスの 1 つはechoであり、echoを使用する他のシェルと似ています。 既定の動作では、パイプラインの最後に出力が表示されます。 PowerShell では、通常、既定で出力が表示されるインスタンスでコマンドレットを使用する必要はありません。 たとえば、Get-Process | Write-Output は、Get-Process と同じです。 または、 echo "Home directory: $HOME" を記述 "Home directory: $HOME"

既定では、 Write-Output はコレクション内のオブジェクトを列挙します。 ただし、 Write-Output は、 NoEnumerate パラメーターを使用して、パイプラインを 1 つのオブジェクトとしてコレクションを渡すこともできます。

例 1: オブジェクトを取得してコンソールに書き込む

この例では、 Get-Process コマンドレットの結果が $P 変数に格納されます。 Write-Output コマンドレットは、コンソールに$Pプロセス オブジェクトを表示します。

$P = Get-Process
Write-Output $P

例 2: 別のコマンドレットに出力を渡す

このコマンドは、"test output" 文字列を Get-Member コマンドレットにパイプします。このコマンドレットには、 System.String クラスのメンバーが表示され、パイプラインに沿って文字列が渡されたことを示します。

Write-Output "test output" | Get-Member

例 3: 出力の列挙を抑制する

このコマンドは、 NoEnumerate パラメーターを追加して、パイプラインを介してコレクションまたは配列を 1 つのオブジェクトとして扱います。

Write-Output 1,2,3 | Measure-Object

Count    : 3
...

Write-Output 1,2,3 -NoEnumerate | Measure-Object

Count    : 1
...

パラメーター

-InputObject

パイプラインに送信するオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。

型:PSObject[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-NoEnumerate

既定では、 Write-Output コマンドレットは常にその出力を列挙します。 NoEnumerate パラメーターは、既定の動作を抑制し、Write-Outputが出力を列挙できないようにします。 NoEnumerate パラメーターは、コマンドがかっこで囲まれている場合は影響しません。かっこは列挙型を強制するためです。 たとえば、 (Write-Output 1,2,3) は配列を列挙します。

NoEnumerate パラメーターは、パイプライン内でのみ役立ちます。 コンソールで NoEnumerate の効果を確認しようとすると、PowerShell によってすべてのコマンド ラインの末尾に Out-Default が追加され、列挙が発生するため、問題が発生します。 ただし、 Write-Output -NoEnumerate を別のコマンドレットにパイプすると、ダウンストリーム コマンドレットはコレクションの列挙項目ではなくコレクション オブジェクトを受け取ります。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

PSObject

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

出力

PSObject

このコマンドレットは、入力として送信されたオブジェクトを返します。

メモ

PowerShell には、 Write-Outputの次のエイリアスが含まれています。

  • すべてのプラットフォーム:

    • echo
  • Windows:

    • write