如何在Powershell中比较版本号?

时间:2019-03-25 10:34:27

标签: powershell

我正在尝试对数组中的版本号进行排序,从最高的到最低的。

我要排序的版本号示例为W88.1.1

我真正尝试过的是:

$a = "W99.2.9", "W99.2.8", "W99.2.3", "W99.2.7" | Sort-Object -Descending

2 个答案:

答案 0 :(得分:1)

如果当前在阵列中有版本,则可以按如下方式对其进行排序。

$versionArray = ('W88.1.1','W88.1.0','W72.1.1','W89.2.1','Z89.2.1','A89.2.1')
$sortedArray = $versionArray | Sort
Write-Output $sortedArray

此示例的输出为:

A89.2.1
W72.1.1
W88.1.0
W88.1.1
W89.2.1
Z89.2.1

在排序之后添加“ -Descending”以反转排序。

希望这会有所帮助!

答案 1 :(得分:0)

[System.Version]对象类型强制转换应该可以解决问题:

PS  >  [System.Version]"2.7.0.19530" -gt [System.Version]"3.0.0.4080"
False
PS  >  [System.Version]"2.7.0.19530" -lt  [System.Version]"3.0.0.4080"
True