2015-11-19 4 views
1

У меня есть скрипт для регулярной очистки папки. Каждый месяц создается 3-4 подпапки; то, что я пытаюсь выполнить, это сохранить одну папку в месяц и удалить остальные в этой папке на каждом сервере. Я был успешным со сценарием, но столкнулся с нижним блоком.Как отсортировать многомерный массив в Powershell

Мой массив выглядит как внизу;

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

Что я хотел бы сделать, сортировать элементы в массиве по метке времени; как это сделать? Пожалуйста, дайте мне знать, если возникнут другие вопросы.

+0

вы пробовали с помощью пользовательской сортировки [как здесь] (HTTP://stackoverflow.com/questions/4146635/custom-sorting-in-powershell)? – Guvante

+3

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

ответ

1

Моя рекомендация будет преобразовать массив массивов в список пользовательских объектов и отсортировать этот список по свойству Timestamp:

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

Это похоже на мой вопрос, я могу назначить их обратно массиву. – Darktux