[登録されているタグ]

[記事公開日]2025/12/18

PowerShellで画面表示する|Write-Hostの使い方

📝 はじめに

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コマンドを探す

やりたいことからコマンドを探すこともできます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 画面にメッセージを表示したい
  • 処理状況を分かりやすく伝えたい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る