[登録されているタグ]

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

PowerShellで複数コマンドをつなぐ|パイプ(|)の基本

📝 はじめに

PowerShellを使っていて、
「この結果をさらに加工したい」
「条件で絞って、並び替えて、表示したい」
と思ったことはありませんか?

そんなときに欠かせないのが
パイプ(|)です。
この記事では、PowerShellで複数コマンドをつなぐ基本を、
初めて触る方にも分かるように丁寧に解説します。

こんな場面で必須

  • 一覧 → 抽出 → 並び替え → 表示を一気に行いたい
  • コマンドを組み合わせて効率よく処理したい
  • PowerShellらしい書き方を身につけたい

✅ この内容でできること(要点)

  • パイプ(|)の意味と役割が分かる
  • 複数コマンドを1行でつなげられる
  • PowerShellの基本的な処理の流れが理解できる
  • 実務でよく使う組み合わせが分かる

✅ パイプ(|)でできること

パイプ(|)は、
前のコマンドの結果を、次のコマンドに渡すための仕組みです。

PowerShellでは「文字」ではなく
オブジェクトがパイプで流れるのが大きな特徴です。
これにより、複雑な処理をシンプルに書けます。

🧩 基本構文

コマンド1 | コマンド2 | コマンド3

左から右へ、
処理が順番に流れていきます。

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

🔹 一覧を取得して表示する

Get-Process | Select-Object -First 5

Get-Process の結果を
Select-Object に渡し、
先頭5件だけ表示しています。

🔹 条件で絞り込む

Get-Service | Where-Object Status -eq "Running"

一覧取得 → 条件抽出、という
パイプの典型的な流れです。

🛠 よく使われる指定例

🔹 抽出 → 並び替え → 表示

Get-Process |
Where-Object CPU -gt 1 |
Sort-Object CPU -Descending |
Select-Object -First 10 Name, CPU

実務で非常によく使われる形です。
処理の流れがそのままコードに表れています。

🔹 結果を変数に入れる

$top = Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 5

パイプで加工した結果も、
そのまま変数に代入できます。

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

🔹 CSVを読み込んで条件抽出

Import-Csv ".\data.csv" |
Where-Object Status -eq "OK" |
Export-Csv ".\result.csv" -NoTypeInformation

🔹 ログを追いかけながらキーワード抽出

Get-Content ".\app.log" -Tail 50 -Wait |
Where-Object { $_ -match "ERROR" }
組み合わせ例

  • Where-Object:条件で絞る
  • Sort-Object:並び替える
  • Select-Object:列・件数を整える
  • Export-Csv:結果を保存する

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

  • パイプは「文字列」を渡しているわけではない
  • 表示用コマンド(Format-Table)は途中に挟まない
  • 左から右へ順番に処理される
  • パイプの途中で何が流れているか意識する必要がある

🔄 cmdとの違いについて

cmd のパイプは基本的に
「文字列の受け渡し」です。
一方、PowerShellのパイプは
オブジェクトの受け渡しである点が大きく異なります。

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

  • パイプの途中で Format-* 系を使っていないか
  • 次のコマンドが受け取れるオブジェクトか
  • プロパティ名の指定ミスがないか

🧠 注意点

パイプはPowerShellの中核です。
最初は「1行が長くて分かりづらい」と感じるかもしれませんが、
処理の流れを意識すると、非常に読みやすくなります。

📌 まとめ

  • パイプ(|)はコマンド結果を次に渡す仕組み
  • 左から右へ処理が流れる
  • PowerShellではオブジェクトが流れる
  • 実務では必須の基礎知識

🔎 PowerShellコマンドを探す

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 複数コマンドを組み合わせたい
  • 結果をファイルに保存したい
Generic filters

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

Generic filters


Generic filters

Generic filters

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