【问题标题】:How to Parse String with 4 Decimal Places如何用 4 个小数位解析字符串
【发布时间】:2015-06-29 20:31:50
【问题描述】:

当我尝试将此变量解析为字符串时,我的 TeamCity 构建中有一个看起来像 3.12.2323.0 的变量,但它失败了。这是我的代码:

$versionNumber = %build.version.major%.%build.version.minor%.%build.counter%."0"

我也试过了

$versionNumber = %build.version.major%+%build.version.minor%+%build.counter%+"0"

我的错误是:

Unexpected token '.1682' in expression or statement.
[19:40:18][Step 2/2] At line:1 char:27
[19:40:18][Step 2/2] + $versionNumber = 3.13.1682 <<<< ."0"
[19:40:18][Step 2/2]     + CategoryInfo          : ParserError: (.1682:String) [], ParentContainsErrorRecordException
[19:40:18][Step 2/2]     + FullyQualifiedErrorId : UnexpectedToken
[19:40:18][Step 2/2]  

【问题讨论】:

  • 试试这个:$versionNumber = "{0}{1}{2}.0" -f %build.version.major%, %build.version.minor%, %build.counter%
  • $versionNumber = [Version]'3.13.1682.0'

标签: powershell teamcity


【解决方案1】:

我没有使用 TeamCity 的经验,但假设 %build.version.major% 等。是环境变量,你可以像这样构建你的版本字符串:

$versionNumber = '{0}.{1}.{2}.0' -f ${env:build.version.major},
                 ${env:build.version.minor}, ${env:build.counter}

【讨论】:

    【解决方案2】:

    感谢 PetSerAl 和 jisaak,我综合使用了您的两个建议,而且效果很好。

    答案:

    $versionNumber = '{0}.{1}.{2}.0' -f %build.version.major%,%build.version.minor%,%build.counter%
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多