使用Powershell对目录名称进行排序

苏曼·戈什(Suman Ghosh)

我有目录列表。目录被命名为数字。如何通过电源外壳按数字顺序对目录名称进行排序。

Name
-----
1
12
2
Mathias R. Jessen

排序顺序基于用于比较的属性类型

由于Name目录属性类型为[string],因此会发生字母排序,该排序在10之前9(因为第一个1字符9在字母顺序之前位于该字符之前)。

要按数字值对数字排序,请使用脚本块(如注释中所示)或计算所得的表达式将值转换为数字类型:

Get-ChildItem -Directory | Sort-Object -Property {$_.Name -as [int]}

使用-as而不是强制转换将防止Name无法将属性转换为的对象出现异常[int]-as类型的操作在PowerShell的3.0版本中引入的,因此对于早期版本中,使用常规演员:

Get-ChildItem -Directory | Sort-Object -Property {[int]$_.Name}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章