我想从MFC * .rc文件中提取verssion编号。它看起来像:
VALUE "FileVersion", "1.22.333.4444\0"
实际上我需要两个值 - 版本1.22.333.4444和主要版本1.22
我编写了下面的代码并且它给了我版本,但它看起来很难看
$version = Get-Content -Path $rcPath | Select-String -Pattern 'FileVersion' -CaseSensitive –SimpleMatch -List | %{$_ -replace '[\\0]', ''} | %{$_ -replace '[^\d.]', ''}
所以我的问题是:
答案 0 :(得分:6)
您可以使用[版本]类型:
$text = 'VALUE "FileVersion", "1.22.333.4444\0"'
$version = [version]($text -replace '^.+?([0-9.]+)\\.+','$1')
$version
Major Minor Build Revision
----- ----- ----- --------
1 22 333 4444
然后:
$version.ToString()
1.22.333.4444
'{0}.{1}' -f $version.major,$version.minor
1.22