如何在Powershell中对多维数组进行排序

问题描述:

我有一个定期清理文件夹的脚本。每个月都会创建3-4个子文件夹;我试图完成的是每月保留一个文件夹,并删除每个服务器上该文件夹的其余部分。我的脚本成功了,但遇到了下面的块。如何在Powershell中对多维数组进行排序

我的数组看起来如下;

$Array = ((Filepath,Timestamp2),(Filepath,Timestamp3),(Filepath,Timestamp1),(Filepath,Timestamp4)) 

我想做的是,排序在由时间戳数组元素;怎么做?如果还有其他问题,请告诉我。

+0

您是否尝试过使用自定义排序[喜欢这里(HTTP:/ /*.com/questions/4146635/custom-sorting-in-powershell)? – Guvante

+3

'$ Array = $ Array | sort {$ _ [1]}' – PetSerAl

我的建议是数组的数组转换成自定义对象的列表,并通过时间戳属性进行排序该列表:

$array | ForEach-Object { 
    New-Object -Type PSCustomObject -Property @{ 
    Filepath = $_[0] 
    Timestamp = $_[1] 
    } 
} | Sort-Object Timestamp 
+0

这似乎回答我的问题,我可以将它们分配回数组。 – Darktux