【发布时间】:2016-06-30 19:29:13
【问题描述】:
我有一个查询返回路径中的文件夹列表:
Get-ChildItem "." -Directory -Filter "*"| Select -Property Name | Sort-Object Name -Descending
在结果中我得到一个对象列表:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 30/06/2016 09:51 1.3.35.6503
d---- 14/12/2015 11:04 1.3.29.5885
d---- 16/11/2015 09:54 1.3.28.5790
d---- 27/06/2016 19:33 1.18.3.6497
d---- 21/06/2016 19:33 1.18.2.6492
d---- 21/06/2016 11:55 1.18.1.6490
d---- 10/05/2016 19:34 1.17.99.6427
这是我没想到的顺序!查看 Windows 资源管理器,如果我按降序对列进行排序,它确实会将它们按正确的顺序排列。
这似乎是按每个单独的文本对它们进行排序,而 Windows 资源管理器更聪明一点,它是通过字符串来完成的。
在 PowerShell 中是否有一种简单的方法可以将此顺序转换为正确的顺序(例如 Windows 资源管理器)?我正在考虑一个函数来返回列表并添加通过将原始名称拆分为 4 个元素并按这些元素单独排序来创建具有 FullName 和 Name 的新对象。
【问题讨论】:
标签: powershell