PowerShell ソートオブジェクト
-
PowerShell で
Sort-Objectコマンドレットを使用してディレクトリコンテンツを並べ替えます -
PowerShell で
Sort-Objectコマンドレットを使用して配列要素を並べ替えます
PowerShell には、プロパティ値に基づいてオブジェクトを並べ替えるための便利なコマンドレット Sort-Object があります。オブジェクトを昇順または降順で並べ替えることができます。
コマンドでソートプロパティが指定されていない場合、最初の入力オブジェクトのデフォルトのソートプロパティを使用しようとします。ソートされるオブジェクトは、Sort-Object にパイプされます。
このチュートリアルでは、PowerShell の Sort-Object コマンドレットを使用してオブジェクトを並べ替える方法を説明します。
PowerShell で Sort-Object コマンドレットを使用してディレクトリコンテンツを並べ替えます
次の例では、ディレクトリ内のファイルとサブディレクトリを並べ替えます:C:\New。
Get-ChildItem C:\New | Sort-Object
出力:

上記のコマンドで、Get-ChildItem コマンドレットは、ディレクトリ C:\New 内のファイルとサブディレクトリを取得します。出力オブジェクトは Sort-Object コマンドレットにパイプされ、デフォルトのプロパティ Name でコンテンツが並べ替えられます。
-Property パラメータを使用して、プロパティ名を指定できます。
次の例では、C:\New ディレクトリ内のファイルとサブディレクトリをプロパティ Length で並べ替えます。
Get-ChildItem C:\New | Sort-Object -Property Length
出力:

デフォルトの並べ替え順序は昇順です。したがって、オブジェクトを降順でソートするには、-Descending パラメーターを使用する必要があります。
次の例では、ディレクトリ C:\New のコンテンツを、プロパティ LastWriteTime に基づいて降順で並べ替えます。
Get-ChildItem C:\New | Sort-Object -Property LastWriteTime -Descending
出力:

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 のドキュメントを参照してください。
