2015-10-05 58 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

單引號的字符串不會擴展它們中的變量。這就是他們的觀點。