たとえば
hello,${name}
という文字列の${name}の部分を"world"に変えたいとき
'hello,${name}' -replace '${name}',"world"
ではダメで、
'hello,${name}' -replace "\`$\{name}","world"
これでOK。
からくりとしては
1、$がpowershellで変数を表す特殊文字なので、`でエスケープする必要がある
2、さらに、$は正規表現で行末を表す特殊文字でもあるので、さらに\でエスケープする必要がある
ということのようです。
なお中括弧{}も正規表現では意味があるので\でエスケープしています。
参考
http://goldyrain.blogspot.jp/2011/12/powershell.html
0 件のコメント:
コメントを投稿