オブジェクトを並び替える
パイプラインを流れるオブジェクトは、Sort-Objectコマンドレットで並び替えることができます。次の例ではディレクトリ内のファイル・ディレクトリ一覧を並べ替えています。
PS U:\PS> Get-ChildItem | Sort-Object LastWriteTime
ディレクトリ: U:\PS
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2010/09/08 6:52 Folder2
d---- 2010/09/08 6:52 Folder1
-a--- 2010/09/08 6:53 9069 File1.txt
-a--- 2010/09/08 6:54 9236 File2.txt
PS U:\PS>
-Descendingオプションをつけると並び替えの順序が逆になります。
PS U:\PS> Get-ChildItem | Sort-Object LastWriteTime -Descending
ディレクトリ: U:\PS
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2010/09/08 6:54 9236 File2.txt
-a--- 2010/09/08 6:53 9069 File1.txt
d---- 2010/09/08 6:52 Folder1
d---- 2010/09/08 6:52 Folder2
PS U:\PS>
-InputObjectオプションを指定することにより、変数に格納されているオブジェクトを並び替えることもできます。
PS U:\PS> $items=Get-ChildItem
PS U:\PS> Sort-Object -InputObject $items
ディレクトリ: U:\PS
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2010/09/08 6:52 Folder1
d---- 2010/09/08 6:52 Folder2
-a--- 2010/09/08 6:53 9069 File1.txt
-a--- 2010/09/08 6:54 9236 File2.txt
PS U:\PS>