2015-10-05 36 views
-1

我需要Powershell脚本的帮助我在AnthillPro中编写了自动更新发行版本号的配置文件。AnthillPro(Powershell脚本) - 单引号内的变量未得到解决

我在阅读我的Config文件以查找当前版本,然后使用'gc'命令使用另一个值更改它。

问题是变量$ currentRelease在'gc'命令的第一个参数中没有得到解决,因为这是单引号。 我曾尝试使用转义字符,但无法解决问题。

如何解决$ currentRelease获取存储在其中的值? 请让我知道你的建议。

(注意变量configFolder,ConfigFilename,appSettingsNewValue &发布不到AntHillPro预定义的性能和越来越正确地解决了这些问题没有。)

更新:我现在能够成功地更换所需的文本。但是我现在遇到了替换后形成的XML文件被破坏的问题。文件开始处有一些特殊字符。 如果有人遇到类似问题,请让我知道。

<project name="buildscript" default="create-file" basedir="."> 
    <target name="create-file"> 
     <echo file="powershell.ps1" append="false"> 
      [xml] $xdoc = get-content ${configFolder}\${configFilename}; 
      $currentRelease = $xdoc.config_data.release; 
      (gc "${configFolder}\${configFilename}") -replace '&lt;${release}&gt;${currentRelease}', '&lt;${release}&gt;${appSettingsNewValue}' | out-file "${configFolder}\${configFilename}" 
     </echo> 
    </target> 
</project> 
+0

我能够找到如下解决方案: [xml] $ xdoc = get-content $ {configFolder} \ $ {configFilename}; $ currentRelease = $ xdoc.config_data.release; (gc“$ {configFolder} \ $ {configFilename}”)-replace('< $ {release} >'+ $ currentRelease),'< $ {release} > $ {appSettingsNewValue}'| out-file“$ {configFolder} \ $ {configFilename}”

回答

1

单引号的字符串不会扩展它们中的变量。这就是他们的观点。