PowerShellのWrite-HostとWrite-Outputの違い?
PowerShellのWrite-HostとWrite-Outputの違いは何ですか?
例えば...
Write-Host "Hello World ";
Write-Output "Hello World";
70
3
PowerShellのWrite-HostとWrite-Outputの違いは何ですか?
例えば...
Write-Host "Hello World ";
Write-Output "Hello World";
一言で言えば、
Write-Host
はコンソールそのものに書き込むのです。VBScript]1 でいうところの MsgBox のようなものだと考えてください。一方、Write-Output
はパイプラインに書き込みますので、次のコマンドはそれを入力として受け取ることができます。オブジェクトを書き込むためにWrite-Output
を使用する必要はありません。なぜなら、Write-Output
は暗黙のうちに呼び出されるからです。と同じになる。
Write-Outputは出力をパイプラインに送ります。そこから別のコマンドレットにパイプしたり、変数に代入したりすることができます。 Write-Host は、出力を直接コンソールに送ります。
出力します。
パイプラインの出力を変数に代入したり、別のコマンドにパイプしたりすることで、Powershellに何をすべきかを指示しない場合、出力はデフォルトでコンソールに送られるため、最終結果は同じように表示されます。
Write-Output`はパイプラインを通してデータをオブジェクトとして送ります。質問の例では、単に文字列を渡します。
write-host
はホスト依存です。コンソールでは、
write-hostは本質的に
[console]::WriteLine` を行うことになります。 詳しくは this を参照してください。