我正在尝试基于此讨论来实现宏替换。基本上它可以工作,但似乎 ExpandString 有一些限制:
主.ps1:
$foo = 'foo'
$text = [IO.File]::ReadAllText('in.config')
$ExecutionContext.InvokeCommand.ExpandString($text) | out-file 'out.config'
in.config(确定):
$foo
in.config(错误:“处理字符串标记时遇到行尾。”):
"
in.config(错误:“字符串末尾缺少 '。”):
'
该文档指出:
返回值:已完成所有变量和表达式替换的扩展字符串。
什么是“表达式替换”(可能是我的情况)?
有一些解决方法吗?