get-childitem对编号文件的顺序

时间:2015-10-15 17:35:53

标签: powershell csv

我需要更改get-childitem返回目录中文件名的顺序,因为以特定方式处理它们非常重要。文件名具有以下格式:f_1.csv,f_2.csv,f_3.csv,f_4.csv,...,f_10.csv,f_11.csv e.t.c. get-childitem返回的默认顺序为:f_1.csv,f_10.csv,f_100.csv。

一种解决方案是将文件名更改为f_001.csv,f_002.csv,f_003.csv,但我无法控制文件的创建方式,我不知道它们的编号(可能是数百,数千等)< / p>

我目前的代码是:

    foreach($file in Get-ChildItem $path -Filter f_*.csv) 
    {
        #process the files here
    }

谢谢

1 个答案:

答案 0 :(得分:1)

这样的东西?

Get-ChildItem -Filter f_*.csv |
 sort @{Expression={[int]($_.name -replace 'f_(\d+).+','$1')};Descending=$false}