PowerShell ソートオブジェクト

Rohan Timalsina 2024年2月16日
  1. PowerShell で Sort-Object コマンドレットを使用してディレクトリコンテンツを並べ替えます
  2. PowerShell で Sort-Object コマンドレットを使用して配列要素を並べ替えます
PowerShell ソートオブジェクト

PowerShell には、プロパティ値に基づいてオブジェクトを並べ替えるための便利なコマンドレット Sort-Object があります。オブジェクトを昇順または降順で並べ替えることができます。

コマンドでソートプロパティが指定されていない場合、最初の入力オブジェクトのデフォルトのソートプロパティを使用しようとします。ソートされるオブジェクトは、Sort-Object にパイプされます。

このチュートリアルでは、PowerShell の Sort-Object コマンドレットを使用してオブジェクトを並べ替える方法を説明します。

PowerShell で Sort-Object コマンドレットを使用してディレクトリコンテンツを並べ替えます

次の例では、ディレクトリ内のファイルとサブディレクトリを並べ替えます:C:\New

Get-ChildItem C:\New | Sort-Object

出力:

PowerShell でディレクトリコンテンツオブジェクトを並べ替える

上記のコマンドで、Get-ChildItem コマンドレットは、ディレクトリ C:\New 内のファイルとサブディレクトリを取得します。出力オブジェクトは Sort-Object コマンドレットにパイプされ、デフォルトのプロパティ Name でコンテンツが並べ替えられます。

-Property パラメータを使用して、プロパティ名を指定できます。

次の例では、C:\New ディレクトリ内のファイルとサブディレクトリをプロパティ Length で並べ替えます。

Get-ChildItem C:\New | Sort-Object -Property Length

出力:

PowerShell の長さプロパティでオブジェクトを並べ替える

デフォルトの並べ替え順序は昇順です。したがって、オブジェクトを降順でソートするには、-Descending パラメーターを使用する必要があります。

次の例では、ディレクトリ C:\New のコンテンツを、プロパティ LastWriteTime に基づいて降順で並べ替えます。

Get-ChildItem C:\New | Sort-Object -Property LastWriteTime -Descending

出力:

PowerShell の LastWriteTime プロパティでオブジェクトを並べ替える

PowerShell で Sort-Object コマンドレットを使用して配列要素を並べ替えます

次のコマンドは、複数の文字列を含む配列変数を作成します。

$array = "apple","car","book","apple","tree"

次の例では、配列文字列をアルファベットの昇順で並べ替えています。

$array | Sort-Object

出力:

apple
apple
book
car
tree

-Unique パラメータを使用すると、重複する要素を削除して、一意の要素のみを取得できます。

$array | Sort-Object -Unique

出力:

apple
book
car
tree

同様に、複数の数値を配列に格納し、Sort-Object を使用して昇順または降順で並べ替えることができます。

$num = 1,2,5,7,89,54,35

次に、配列オブジェクトを Sort-Object にパイプします。

$num | Sort-Object

出力:

1
2
5
7
35
54
89

これで、PowerShell でオブジェクトを並べ替えて順番に表示する方法を理解する必要があります。詳細については、Sort-Object のドキュメントを参照してください。

著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell Object