この議論に基づいてマクロ置換を実装しようとしています。基本的には機能しますが、ExpandString にはいくつかの制限があるようです。
main.ps1:
$foo = 'foo'
$text = [IO.File]::ReadAllText('in.config')
$ExecutionContext.InvokeCommand.ExpandString($text) | out-file 'out.config'
in.config (OK):
$foo
in.config (エラー: 「文字列トークンの処理中に行末が見つかりました。」):
"
in.config (エラー: 「文字列の末尾に ' がありません。」):
'
ドキュメントには次のように記載されています。
戻り値: すべての変数と式の置換が行われた展開された文字列。
「式置換」とは何ですか (これは私の場合かもしれません)?
回避策はありますか?