AnthillPro(Powershell脚本) - 单引号内的变量无法解析

时间:2015-10-05 21:48:19

标签: powershell anthill

我需要帮助我在AnthillPro中编写的Powershell脚本,以自动更新配置文件中的发行版本号。

我正在阅读我的Config文件以查找当前版本,然后使用'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>

1 个答案:

答案 0 :(得分:1)

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