[登録されているタグ]

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

PowerShellで並び替える|Sort-Objectの使い方

📝 はじめに

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

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

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 並び順を変更したい
  • 上位・下位のデータを確認したい
Generic filters

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

Generic filters


Generic filters

Generic filters

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