下面的第一个示例是正在解析的普通静态字符串。第二个例子是我尝试做同样的事情,但让字符串动态解析。我需要知道在(($myparse gets evaluated))
下面放置什么才能让它在运行中解析$myparse
的内容。我确定它是某种脚本块,但我无法弄清楚它是什么类型。
以下代码正确地将静态字符串解析为“Hello John Smith”并将其存储在$mysalutation
中:
>$firstName = "John"
>$lastName = "Smith"
>$mysalutation = "Hello $firstName$(if($lastname) {" " + $lastName})."
>$mysalutation
Hello John Smith.
我想要做的是动态解析相同的字符串:
>$myparse = 'Hello $firstName$(if($lastname) {" " + $lastName}).'
>$myparse
Hello $firstName$(if($lastname) {" " + $lastName}).
>$firstName = "Jason"
>$lastName = "Bourne"
>$mysalutation = (($myparse gets evaluated))
>$mysalutation
Hello Jason Bourne.
答案 0 :(得分:2)
您正在寻找ExpandString
功能:
$ExecutionContext.InvokeCommand.ExpandString($myparse)