PowerShell 排序物件
Rohan Timalsina
2023年1月30日
2022年7月18日
PowerShell 有一個方便的 cmdlet Sort-Object
可以根據物件的屬性值對物件進行排序。它可以按升序或降序對物件進行排序。
當命令中沒有指定排序屬性時,它會嘗試使用第一個輸入物件的預設排序屬性。要排序的物件通過管道傳送到 Sort-Object
。
本教程將教你使用 PowerShell 的 Sort-Object
cmdlet 對物件進行排序。
使用 Sort-Object
Cmdlet 在 PowerShell 中對目錄內容進行排序
以下示例對目錄中的檔案和子目錄進行排序:C:\New
。
Get-ChildItem C:\New | Sort-Object
輸出:
在上述命令中,Get-ChildItem
cmdlet 獲取目錄 C:\New
中的檔案和子目錄。輸出物件通過管道傳送到 Sort-Object
cmdlet,該 cmdlet 按預設屬性 Name
對內容進行排序。
你可以使用 -Property
引數來指定屬性名稱。
以下示例按屬性 Length
對 C:\New
目錄中的檔案和子目錄進行排序。
Get-ChildItem C:\New | Sort-Object -Property Length
輸出:
預設排序順序是升序。因此,你必須使用 -Descending
引數按降序對物件進行排序。
以下示例根據屬性 LastWriteTime
以降序對目錄 C:\New
中的內容進行排序。
Get-ChildItem C:\New | Sort-Object -Property LastWriteTime -Descending
輸出:
在 PowerShell 中使用 Sort-Object
Cmdlet 對陣列元素進行排序
以下命令建立一個包含多個字串的陣列變數:
$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
的文件。
Author: Rohan Timalsina