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 |
入力
このコマンドレットにオブジェクトをパイプできます。
出力
このコマンドレットは、入力として送信されたオブジェクトを返します。
メモ
PowerShell には、 Write-Output
の次のエイリアスが含まれています。
すべてのプラットフォーム:
echo
Windows:
write
関連リンク
PowerShell