在版本比较

时间:2018-02-05 03:58:31

标签: powershell casting object-comparison

我正在阅读两个MS Word文件,需要比较docx属性。

我得到每个变量的正确输出,但是一旦我比较它们就会抛出以下错误。

知道为什么吗?

Major  Minor  Build  Revision
-----  -----  -----  --------
1      0      -1     -1
1      1      -1     -1
  

无法将“1.0”与“1.1”进行比较。错误:“无法将类型为”System.Object []“的”System.Object []“值转换为   输入“System.Version”。“   在C:\ Users \ Sebastian \ Documents \ IT Projects \ Saberwal \ Groups - Advanced.ps1:76 char:6   + if($ CurrentVersion -lt $ NewVersion){Write-Output“New is larger”}   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidOperation:(:) [],RuntimeException       + FullyQualifiedErrorId:ComparisonFailure

代码:

 $CurrentVersion = Check-Version $CurrentSignaturePath $CurrentSignatureFile 
 $NewVersion = Check-Version $NewSignaturePath $NewSignatureFile 
 Write-Output $CurrentVersion
 Write-Output $NewVersion

 if ($CurrentVersion -lt $NewVersion) { Write-Output "New is bigger" }

2 个答案:

答案 0 :(得分:0)

试试这个:

[Version] $CurrentVersion = Check-Version $CurrentSignaturePath 
[Version] $CurrentSignatureFile $NewVersion = Check-Version $NewSignaturePath $NewSignatureFile

如果只是尝试将两个版本与-lt进行比较,那就可以了。

答案 1 :(得分:0)

好的,找到了一种方法。

[version]$CurrentVersion = [string]$CurrentVersion
[version]$NewVersion = [string]$NewVersion

谢谢大家