如何在Powershell中对多维数组进行排序
问题描述:
我有一个定期清理文件夹的脚本。每个月都会创建3-4个子文件夹;我试图完成的是每月保留一个文件夹,并删除每个服务器上该文件夹的其余部分。我的脚本成功了,但遇到了下面的块。如何在Powershell中对多维数组进行排序
我的数组看起来如下;
$Array = ((Filepath,Timestamp2),(Filepath,Timestamp3),(Filepath,Timestamp1),(Filepath,Timestamp4))
我想做的是,排序在由时间戳数组元素;怎么做?如果还有其他问题,请告诉我。
答
我的建议是数组的数组转换成自定义对象的列表,并通过时间戳属性进行排序该列表:
$array | ForEach-Object {
New-Object -Type PSCustomObject -Property @{
Filepath = $_[0]
Timestamp = $_[1]
}
} | Sort-Object Timestamp
+0
这似乎回答我的问题,我可以将它们分配回数组。 – Darktux
您是否尝试过使用自定义排序[喜欢这里(HTTP:/ /stackoverflow.com/questions/4146635/custom-sorting-in-powershell)? – Guvante
'$ Array = $ Array | sort {$ _ [1]}' – PetSerAl