String 在PowerShell中动态解析字符串的内容

String 在PowerShell中动态解析字符串的内容,string,powershell,parsing,variables,String,Powershell,Parsing,Variables,下面的第一个示例是正在解析的普通静态字符串。第二个例子是我试图做同样的事情,但是让字符串动态地解析。我需要知道如何替换下面的($myparse得到评估)),以便让它动态解析$myparse的内容。我肯定这是某种脚本块,但我不知道是哪种 以下代码将静态字符串正确解析为“Hello John Smith”,并将其存储在$mysalutation中: >$firstName = "John" >$lastName = "Smith" >$mysalutation = "Hello $

下面的第一个示例是正在解析的普通静态字符串。第二个例子是我试图做同样的事情,但是让字符串动态地解析。我需要知道如何替换下面的
($myparse得到评估))
,以便让它动态解析
$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.

您正在寻找
ExpandString
函数:

$ExecutionContext.InvokeCommand.ExpandString($myparse)