Мне нужно обрабатывать файлы в порядке от самой старой даты создания до самой новой.
Я нашел команду sort-object, которая мне нужна, однако я не знаю, как добавить ее в мой оператор ForEach ().
Может кто-нибудь подскажет, как это сделать?
Спасибо
Get-ChildItem -Path C:\Users\Tom\ -Filter "*.journal" | Sort-Object -Property CreationTime
ForEach ($sourcefile In $(Get-ChildItem $source | Where-Object { $_.Name -match "Daily_Reviews\[\d{1,12}-\d{1,12}\].journal" }))
{
#### Process files in order from oldest to newest
$file = $source+$sourcefile
}
Вы просто передаете несортированный массив в Sort-Object и просматриваете результат следующим образом:
(переходы курсора и разрывы строк включены для удобства чтения)
ForEach ($sourcefile In $(Get-ChildItem $source ^
| Where-Object { $_.Name -match "Daily_Reviews\[\d{1,12}-\d{1,12}\].journal" } ^
| Sort-Object -Property CreationTime))
{
#### Process files in order from oldest to newest
# Do-Whatever -With $sourcefile
}
Обратите внимание, что первая строка с Get-ChildItem
call в вашем коде ничего не делает, кроме отображения отсортированного списка файлов **. journal * - этот вывод больше не обрабатывается в вашем скрипте.