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