PowerShell 排序物件

Rohan Timalsina 2024年2月16日
  1. 使用 Sort-Object Cmdlet 在 PowerShell 中對目錄內容進行排序
  2. 在 PowerShell 中使用 Sort-Object Cmdlet 對陣列元素進行排序
PowerShell 排序物件

PowerShell 有一個方便的 cmdlet Sort-Object 可以根據物件的屬性值對物件進行排序。它可以按升序或降序對物件進行排序。

當命令中沒有指定排序屬性時,它會嘗試使用第一個輸入物件的預設排序屬性。要排序的物件通過管道傳送到 Sort-Object

本教程將教你使用 PowerShell 的 Sort-Object cmdlet 對物件進行排序。

使用 Sort-Object Cmdlet 在 PowerShell 中對目錄內容進行排序

以下示例對目錄中的檔案和子目錄進行排序:C:\New

Get-ChildItem C:\New | Sort-Object

輸出:

在 PowerShell 中對目錄內容物件進行排序

在上述命令中,Get-ChildItem cmdlet 獲取目錄 C:\New 中的檔案和子目錄。輸出物件通過管道傳送到 Sort-Object cmdlet,該 cmdlet 按預設屬性 Name 對內容進行排序。

你可以使用 -Property 引數來指定屬性名稱。

以下示例按屬性 LengthC:\New 目錄中的檔案和子目錄進行排序。

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

輸出:

在 PowerShell 中按長度屬性對物件進行排序

預設排序順序是升序。因此,你必須使用 -Descending 引數按降序對物件進行排序。

以下示例根據屬性 LastWriteTime 以降序對目錄 C:\New 中的內容進行排序。

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

輸出:

在 PowerShell 中按 LastWriteTime 屬性對物件進行排序

在 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 的文件。

作者: 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