もくじ
📝 はじめに
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コマンドを探す
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 複数コマンドを組み合わせたい
- 結果をファイルに保存したい
