关于多个小数"数字的关系运算符"

时间:2017-07-28 15:33:44

标签: powershell

我需要将构建号与多个十进制格式进行比较,我想知道是否有PowerShell本机或.NET方式来执行此操作,而不是自己编译。 我从一个简单的-gt和字符串开始,像这样

if ('12.3.0' -gt '12.2.3') {
   $true
} else {
   $false
}

它有效,但只要数字位数匹配。所以这就分崩离析了。

if ('12.10.0' -gt '12.2.3') {
   $true
} else {
   $false
}

更糟糕的是,像Autodesk这样的供应商会在他们的构建中使用字母,嗯,数字。因此,您可以获得像N.44.0和O.12.0这样的构建(这是前面的资本O)。这变得非常不确定。 我确定我可以自己滚动并在小数上拆分每个内部版本号,然后建立并转换为每个"数字的正确类型"然后进行比较。但是,如果PS有一个内置的解决方案,我还有很多工作要做,我还没有找到。

1 个答案:

答案 0 :(得分:1)

版本字符串的格式和内容各不相同,从软件发布者到软件发布者,甚至可能是产品。您必须自己推出自己的",并且每个供应商/产品最终会有所不同。

编辑添加: Per @Bill_Stewart,[Version] .NET类可以简化一些涉及的问题。请参阅MSDN description