我有文件
Test1.zip
Test2.zip
Test3.zip
Test10.zip
Test11.zip
当我使用此命令在 powershell 中进行选择时
Get-ChildItem -Path "c:\temp" -Filter "*.zip" | Sort-Object
当我运行命令时它就会出现
Test1.zip
Test10.zip
Test11.zip
Test2.zip
Test3.zip
我怎样才能让它出来?
Test1.zip
Test2.zip
Test3.zip
Test10.zip
Test11.zip
Get-ChildItem -Path "C: emp" -Filter "*.zip" 检索指定目录中所有扩展名为 .zip 的文件。 Sort-Object 与自定义排序脚本块 { ... } 一起使用,以根据转换后的键对文件进行排序。 在脚本块内: [regex]::Replace($.Name, '\d+', { $args[0].Value.PadLeft($.Name.Length, '0') }) 使用正则表达式从每个文件名中提取数字序列(\d+) 并用前导零填充它们直至文件名的长度 ($_.Name.Length),以确保正确比较数值。 此转换确保 Test10.zip 在排序列表中位于 Test9.zip 之后但位于 Test11.zip 之前。