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