[登録されているタグ]

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

PowerShellで出力する|Write-Outputの使い方

📝 はじめに

PowerShellでスクリプトを書いていて、
「処理結果を次のコマンドに渡したい」
「変数や計算結果をそのまま出力したい」
と感じたことはありませんか?

そんなときに基本となるのが
Write-Output です。
PowerShellでは“出力”という考え方が非常に重要で、
Write-Output
パイプラインに値を渡すための基本コマンドとして使われます。

こんな場面で便利

  • 処理結果を次のコマンドへ渡したい
  • 関数やスクリプトの戻り値を返したい
  • 値を加工・絞り込みしていきたい

✅ このコマンドでできること(要点)

  • 値や文字列を出力できる
  • パイプラインで次の処理に渡せる
  • 関数・スクリプトの戻り値として使える
  • PowerShellらしい処理の流れを作れる

✅ Write-Output でできること

Write-Output は、
値やオブジェクトを
PowerShellのパイプラインへ出力するためのコマンドです。

画面に表示される点では Write-Host と似ていますが、
Write-Output
後続の処理に値を渡せるという大きな違いがあります。

考え方としては、「処理結果を次へ流すための出力」と覚えると分かりやすいです。

🧩 基本構文

Write-Output "出力したい値"

指定した値が出力され、必要に応じて次の処理へ渡されます。

▶ 基本的な使い方(まずこれだけ)

🔹 文字列を出力する

Write-Output "Hello PowerShell"

文字列がそのまま表示されれば問題ありません。
この結果が表示されていれば正常に動作しています。

🔹 変数の内容を出力する

$value = 100
Write-Output $value

変数の中身が出力されます。
エラーが出なければ次の処理へ渡せます。

🛠 よく使われる指定例

🔹 パイプで次のコマンドへ渡す

Write-Output "apple","banana","orange" | Where-Object { $_ -like "a*" }

出力された値が Where-Object に渡され、
条件に合うものだけが残ります。

🔹 関数の戻り値として使う

function Get-Message {
    Write-Output "処理結果です"
}

Get-Message

関数の実行結果として値が返されます。

💼 実務でよく使う使用例(応用)

🔹 計算結果を次の処理へ渡す

$result = 5 + 3
Write-Output $result | ForEach-Object { $_ * 2 }

🔹 ファイル一覧を加工して出力

Get-ChildItem |
    Write-Output |
    Select-Object Name, Length
組み合わせ例

  • Where-Object と組み合わせて絞り込み
  • Select-Object で必要な情報だけ取得
  • ForEach-Object で加工処理

🧩 よくある勘違い・つまずきポイント

  • Write-Output を書かなくても暗黙的に出力される場合がある
  • Write-Host と同じだと思ってしまう
  • 画面表示専用だと勘違いする
  • 複数値が配列として流れることを理解していない
  • 出力順が処理順と異なると混乱する

🔄 cmdとの違いについて

cmd では echo が出力に使われますが、
PowerShell の Write-Output
単なる表示ではなく「オブジェクトの出力」です。

パイプで次の処理へ渡せる点が大きな違いです。

⚠ エラー・うまく動かないときの確認ポイント

  • Write-Host と混同していないか
  • パイプラインの途中で止まっていないか
  • 期待している型で出力されているか
  • 暗黙の出力と重複していないか

🧠 注意点

PowerShellでは、明示的に
Write-Output を使わなくても
最後の式が自動的に出力されます。
ただし、可読性や意図を明確にしたい場合には
明示的に使うと分かりやすくなります。

📌 まとめ

  • Write-Output は値を出力し次の処理へ渡すための基本コマンド
  • 画面表示専用ではなくパイプラインが主目的
  • 関数やスクリプトの戻り値として重要
  • 次は Write-Host との使い分けを整理すると理解が深まる

🔎 PowerShellコマンドを探す

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

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 処理結果を次の処理に渡したい
  • 関数の戻り値を返したい
Generic filters

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

Generic filters


Generic filters

Generic filters

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