PowerShell Sort-Object by Name升序

Fra*_*ani 3 sorting powershell

PowerShell似乎不按名称升序对对象进行排序:

dir | Sort-Object Name
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当然,我的目标是按以下顺序对元素进行排序:

1.sql
2.sql
3.sql
4.sql
5.sql
6.sql
...
...
...
Run Code Online (Sandbox Code Playgroud)

你觉得有什么出路吗?

Tes*_*ler 5

您需要将数字排序为数字而不是文本; 它很方便,因为文件名完全是数字,因此您可以更改排序以使用动态scriptblock属性,它将为管道中的每个项目计算:

| sort-object -Property {
    if (($i = $_.BaseName -as [int])) { $i } else { $_ }
}
Run Code Online (Sandbox Code Playgroud)

这说"如果文件名可以转换为整数,请使用它,否则按原样使用".