もくじ
📝 はじめに
PowerShellでスクリプトを実行していて、
「処理の進捗を画面に表示したい」
「ユーザーにメッセージを分かりやすく伝えたい」
と感じたことはありませんか?
そんなときに使われるのが
Write-Host です。
実行結果として値を返すのではなく、
画面(コンソール)にメッセージを表示することに特化したコマンドです。
- 処理の開始・終了を画面で知らせたい
- ユーザー向けの案内文を表示したい
- エラーや注意メッセージを目立たせたい
✅ このコマンドでできること(要点)
- 画面にメッセージを表示できる
- 文字色や背景色を指定できる
- 処理結果とは独立した表示ができる
- 対話型スクリプトで案内表示に使える
✅ Write-Host でできること
Write-Host は、
PowerShellのコンソール画面に直接文字列を表示するためのコマンドです。
Write-Output のように
パイプラインへ値を渡すことはなく、
「見せるためだけの表示」に使われます。
考え方としては「ユーザーへのメッセージ表示専用」と覚えると分かりやすいです。
🧩 基本構文
Write-Host "表示したいメッセージ"
指定した文字列が、そのまま画面に表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 シンプルに文字を表示する
Write-Host "処理を開始します"
メッセージが画面に表示されていれば問題ありません。
🔹 変数の内容を表示する
$name = "User01"
Write-Host "ユーザー名: $name"
変数の内容が展開されて表示されます。
エラーが出なければ正常に実行できています。
🛠 よく使われる指定例
🔹 文字色を指定する
Write-Host "完了しました" -ForegroundColor Green
色を付けることで、重要なメッセージを目立たせられます。
🔹 背景色を指定する
Write-Host "注意が必要です" -ForegroundColor White -BackgroundColor Red
警告表示などでよく使われる指定です。
💼 実務でよく使う使用例(応用)
🔹 処理の進捗を表示する
Write-Host "処理開始"
Start-Sleep -Seconds 2
Write-Host "処理完了"
🔹 条件に応じて表示を変える
if (Test-Path "C:\data.txt") {
Write-Host "ファイルが存在します" -ForegroundColor Green
} else {
Write-Host "ファイルが見つかりません" -ForegroundColor Red
}
- Read-Host と組み合わせて対話表示
- Start-Sleep と併用して進捗演出
- Test-Path の結果を分かりやすく表示
🧩 よくある勘違い・つまずきポイント
- Write-Host の出力はパイプで渡せない
- スクリプトの戻り値として使えない
- ログ出力には向かない
- 自動処理では表示が不要な場合がある
- 色指定は環境によって見え方が異なる
🔄 cmdとの違いについて
cmd では echo を使って画面表示を行いますが、
PowerShell の Write-Host は
色指定や柔軟な表示ができる点が特徴です。
表示専用として割り切って使えるのが大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- 表示だけが目的の箇所で使っているか
- パイプ処理と混同していないか
- 色指定が対応している環境か
- 自動実行時に不要な表示になっていないか
🧠 注意点
Write-Host は便利ですが、
処理結果を後続に渡したい場合は不向きです。
状況に応じて Write-Output や
Write-Information を使い分けると良いでしょう。
📌 まとめ
- Write-Host は画面表示専用のコマンド
- ユーザーへの案内や進捗表示に向いている
- 色指定で視認性を高められる
- 次は Write-Output との使い分けを理解すると便利
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 画面にメッセージを表示したい
- 処理状況を分かりやすく伝えたい
