AnthillPro (Powershell脚本)-单引号内的变量没有得到解决



我需要一个Powershell脚本的帮助,我写在AnthillPro自动更新发布版本号在我的配置文件。

我正在阅读我的配置文件以查找当前版本,然后使用'gc'命令将其更改为另一个值。

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

我如何解决$currentRelease获得存储在它的值?请告诉我你的建议。

(注意变量configFolder, ConfigFilename, appSettingsNewValue &release是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>

单引号字符串不会展开其中的变量。

最新更新