[解決済み】「Write-Host」、「Write-Output」、「[console]::WriteLine」の違いは何ですか?
2022-04-13 18:20:36
質問
メッセージを出力する方法には、さまざまなものがあります。このような場合、どのような違いがあるのでしょうか?
Write-Host
,
Write-Output
または
[console]::WriteLine
?
とすると気づくこともあります。
write-host "count=" + $count
は
+
が出力に含まれるようになります。なぜでしょうか?この式は、書き出される前に、連結された1つの文字列を生成するために評価されるべきではないでしょうか?
どのように解決するのですか?
Write-Output
は、パイプラインでデータを送りたいが、必ずしも画面に表示したいわけではない場合に使用します。パイプラインは最終的にそれを
out-default
は、他に何も使用されていなければ、最初に
Write-Host
は、その逆をしたいときに使います。
[console]::WriteLine
は、基本的に
Write-Host
は裏でやっている。
このデモコードを実行し、結果を調べてみてください。
function Test-Output {
Write-Output "Hello World"
}
function Test-Output2 {
Write-Host "Hello World" -foreground Green
}
function Receive-Output {
process { Write-Host $_ -foreground Yellow }
}
#Output piped to another function, not displayed in first.
Test-Output | Receive-Output
#Output not piped to 2nd function, only displayed in first.
Test-Output2 | Receive-Output
#Pipeline sends to Out-Default at the end.
Test-Output
のパラメータリストをトークン化する前に、PowerShellが連結を処理するように、連結操作を括弧で囲む必要があります。
Write-Host
または、文字列補間を使用する
write-host ("count=" + $count)
# or
write-host "count=$count"
ところで - これを見てください ビデオ Jeffrey Snoverがパイプラインの仕組みを説明しています。私がPowerShellを学び始めた頃、パイプラインの仕組みについて最も有用な説明だと思いました。
関連
-
[解決済み] xPath を使用する Powershell スクリプトの .SelectSingleNode が web.config ファイルから値を抽出する際に動作していない
-
[解決済み] Push-LocationとSet-Locationの使い分けは?
-
[解決済み] Windows PowerShellでファイルが存在するかどうかをチェックする?
-
[解決済み] PowerShellでディレクトリを変更する
-
[解決済み] PowerShellのWrite-HostとWrite-Outputの違い?
-
[解決済み] PowerShellでコンソールに書き込むには?
-
[解決済み] powershellスクリプトで、最後に改行を入れずにWrite-Warningすることはできますか?
-
[解決済み] Write-ErrorとThrowはいつ使い分ける?終端エラーと非終端エラー
-
[解決済み] 現在のPowerShellスクリプトの場所を特定する最良の方法は何ですか?
-
[解決済み】PowerShellで何かを出力する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】'<'演算子は将来の使用のために予約されている
-
[解決済み] OutVariableを使用してArrayListを作成する
-
[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
-
[解決済み] スクリプトへのパスが完全修飾されている場合、削除サーバーでのPowershellの実行に失敗する
-
[解決済み] Get-ChildItem -force で My Documents フォルダとその他の接続ポイントに "Access Denied" を報告する。
-
[解決済み] PowerShellのWrite-HostとWrite-Outputの違い?
-
[解決済み] PowerShellで改行するには?
-
[解決済み] Powershell:スクリプトにエラーが表示されないようにするにはどうすればよいですか?
-
[解決済み] Powershell Get-ChildItem -Filter は、同じ値でWhere句とは異なる動作をします。
-
[解決済み] PowerShellの画面を各コマンドの前に自動的にクリアする方法はありますか?