如何在 PowerShell 中动态调用变量?

How can I dynamically call a variable in PowerShell?

我正在通过组合现有变量来创建新变量名,但是,我找不到通过使用现有变量来动态引用新变量名的方法。

$count = 1
New-Variable -Name "Jobname$Count"

我希望在使用 $JobName$Count 动态解析时得到“Jobname1”。

我尝试了引用变量的不同组合,但 none 行得通:

$JobName$($Count)
$JobName"$Count"
$JobName"$($Count)"
$JobName"($Count)"

我怎样才能做到这一点?

您已经知道如何使用 New-VariableSet-Variable 动态创建新变量。如果你想动态获取你的变量,你可以使用 Get-Variable$ExecutionContext.SessionState.PSVariable.Get(..) 或者更简单的方法是使用 -PassThru:

$count = 1
$var = New-Variable -Name "Jobname$Count" -Value 'example' -PassThru
$var

Name                           Value
----                           -----
Jobname1                       example

Get-Variable "Jobname$Count"

Name                           Value
----                           -----
Jobname1                       example

$ExecutionContext.SessionState.PSVariable.Get("Jobname$Count")

Name                           Value
----                           -----
Jobname1                       example