我正在嘗試開發一個腳本,用新的測試字符串替換輸入文本中的某些標記。隨着this的幫助下,我已經開發了以下內容:
$repl = @{}
$repl.add('SVN',"myworkspace\BRANCH71")
$repl.add('REL',"72")
$string = 'C:\users\rojomoke\filesREL\SVN\blah.txt'
foreach ($h in $repl.getenumerator())
{
write-host "Line: $($h.name): $($h.value)"
$string = $string -replace "$($h.name)","$($h.value)"
write-host $string
}
產生所需C:\users\rojomoke\files72\myworkspace\BRANCH71\blah.txt
。
但是,當我嘗試使用標記以$
標誌開頭的標記時,它全部轉到sh^H^Hpieces。如果在上面的示例中我使用標記$REL
和$SVN
,則不發生替換,並且$string
保留爲C:\users\rojomoke\files$REL\$SVN\blah.txt
。
我假設我遇到了正則表達式擴展或什麼,但我看不出如何。是否可以引用美元符號,以便它正常工作?
我使用PowerShell版本3