Следующая команда показывает, как вы сортируете базовое имя (имя файла без расширения) ваших входных файлов: сначала лексически , по тексту перед _
, а затем численно , по номеру, следующему за _
:
# The input simulates dir (Get-ChildItem) output.
@{ BaseName = 'log_10' }, @{ BaseName ='log_9' }, @{ BaseName = 'log_2' } |
Sort-Object { ($_.BaseName -split '_')[0] }, { [int] ($_.BaseName -split '_')[-1] }
Выше приведено следующее - обратите внимание на правильную числовую сортировку:
Name Value
---- -----
BaseName log_2
BaseName log_9
BaseName log_10