もくじ
📝 はじめに
PowerShellで一覧を取得したあとに、
「名前順に並べ替えたい」
「数値の大きい順・小さい順に整理したい」
と感じたことはありませんか?
そんなときに使うのが
Sort-Object です。
この記事では、PowerShellで並び替えを行う基本から、
実務でよく使われる指定方法までを、順を追って解説します。
- 一覧を見やすい順番に整理したい
- 数値や日付で大小比較したい
- 上位・下位のデータを確認したい
✅ このコマンドでできること(要点)
- 指定したプロパティで並び替えができる
- 昇順・降順を切り替えられる
- 数値・文字列・日付を正しく比較できる
- 後続処理に渡す順番を制御できる
✅ Sort-Object でできること
Sort-Object は、
オブジェクトのプロパティを基準にして
並び順を変更するためのコマンドです。
見た目を整える目的だけでなく、
処理の優先順を制御する用途でもよく使われます。
考え方としては、「指定した列を基準に整列する」イメージです。
🧩 基本構文
Sort-Object プロパティ名
プロパティ名を指定すると、
その値を基準に昇順で並び替えられます。
▶ 基本的な使い方(まずこれだけ)
🔹 名前順に並び替える
Get-Process | Sort-Object Name
プロセス名のアルファベット順で表示されます。
名前が順番に並んでいれば、正しく並び替えできています。
🔹 ファイルサイズ順に並び替える
Get-ChildItem | Sort-Object Length
ファイルサイズの小さい順に並び替えられます。
🛠 よく使われる指定例
🔹 降順(大きい順)に並び替える
Get-ChildItem | Sort-Object Length -Descending
サイズの大きいファイルから順に表示されます。
容量を圧迫しているファイルを探すときに便利です。
🔹 複数の条件で並び替える
Get-Process | Sort-Object CPU, Name
まずCPU使用率で並び替え、
同じ値の場合は名前順で整理されます。
🔹 逆順で安定した並び替えを行う
Get-Process | Sort-Object Name -Descending
文字列を逆順で表示したい場合に使います。
💼 実務でよく使う使用例(応用)
🔹 上位5件だけ確認する
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
CPU使用率が高いプロセスだけを抽出できます。
この結果が表示されていれば、正しく処理できています。
🔹 更新日時が新しい順に確認する
Get-ChildItem | Sort-Object LastWriteTime -Descending
- Where-Object で条件抽出してから並び替え
- Select-Object で必要な列だけ表示
- Export-Csv で結果を保存
🧩 よくある勘違い・つまずきポイント
- 文字列と数値では並び替え結果が異なる
- プロパティ名を指定しないと期待通りに並ばない
- 表示順が変わるだけで元データは変更されない
- 日付は日付型として比較される
- 大文字・小文字の違いは通常無視される
🔄 cmdとの違いについて
cmdでは sort コマンドを使いますが、
文字列ベースの並び替えが中心になります。
PowerShellの Sort-Object は、
数値や日付を正しく理解して並び替えできる点が大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したプロパティが存在するか
- 数値として比較されているか
- パイプラインの前段が正しく動作しているか
- 意図せず文字列として扱われていないか
🧠 注意点
Sort-Object は大量のデータを扱う場合、
処理に時間がかかることがあります。
件数が多い場合は、先に絞り込んでから並び替えるのがおすすめです。
📌 まとめ
- Sort-Object はPowerShellで並び替えを行う基本コマンド
- 昇順・降順を簡単に切り替えられる
- 数値や日付を正しく比較できる
- 次は Where-Object や Select-Object と組み合わせると理解が深まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 並び順を変更したい
- 上位・下位のデータを確認したい
