我需要将构建号与多个十进制格式进行比较,我想知道是否有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有一个内置的解决方案,我还有很多工作要做,我还没有找到。
答案 0 :(得分:1)
版本字符串的格式和内容各不相同,从软件发布者到软件发布者,甚至可能是产品。您必须自己推出自己的",并且每个供应商/产品最终会有所不同。
编辑添加: Per @Bill_Stewart,[Version]
.NET类可以简化一些涉及的问题。请参阅MSDN description。