gpt4 book ai didi

powershell - 订购以句号分隔的编号目录

转载 作者:行者123 更新时间:2023-12-02 23:25:30 25 4
gpt4 key购买 nike

我有一个查询,该查询返回路径中的文件夹列表:

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的新对象。

最佳答案

您想通过Version对文件进行排序。您不需要分割字符串,只需将BaseName转换为version并对其进行排序:

Get-ChildItem '.' -Directory -Filter "*" | sort { [version]$_.BaseName }

结果:
Mode                LastWriteTime         Length Name                                                                                                                                     
---- ------------- ------ ----
-a---- 30.06.2016 13:15 0 1.3.28.5790.txt
-a---- 30.06.2016 13:15 0 1.3.29.5885.txt
-a---- 30.06.2016 13:15 0 1.3.35.6503.txt
-a---- 30.06.2016 13:15 0 1.17.99.6427.txt
-a---- 30.06.2016 13:15 0 1.18.1.6490.txt
-a---- 30.06.2016 13:15 0 1.18.2.6492.txt
-a---- 30.06.2016 13:15 0 1.18.3.6497.txt

关于powershell - 订购以句号分隔的编号目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38121466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com