gpt4 book ai didi

powershell - 在PowerShell中根据版本号排序

转载 作者:行者123 更新时间:2023-12-02 23:25:00 25 4
gpt4 key购买 nike

我正在根据版本号对目录中的文件夹进行排序,并删除旧文件夹。
我遇到的问题是由于octopus deploy的版本控制标准。如果您多次发布具有相同版本的项目,数字将如下所示;

1.3.5.6
1.3.5.6_1
1.3.5.6_2
1.3.5.7

这些下划线正在扼杀我的算法。我的功能如下;
function CleanUp-Files ($col,$NumberToSave) {
foreach ($pkg in $col.FullName) {
Get-ChildItem -Path $pkg |
Where-Object {$_.PsIscontainer} |
Sort-Object { [version]($_.Name -replace '^(\d+(\.\d+){1,3})(_\d{1,2})?$', '$1') } -Descending |
Select-Object -Skip $NumberToSave |
Remove-Item -Recurse -Force -Verbose
}
}

我该怎么做才能将这些下划线容纳到我的排序中?

最佳答案

排序对象可以对多个参数执行。

Sort-Object { [Version]($_ -replace '_.*$') }, { if ($_ -match '_') { [Int]($_ -replace '^.*_') } else { 0 } }

关于powershell - 在PowerShell中根据版本号排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38897643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com