Powershell 用于修改变量的Foreach循环

Powershell 用于修改变量的Foreach循环,powershell,Powershell,我正在学习PowerShell并尝试在循环中设置变量值。使用以下字符串: $Apple = 'Apple' $Banana = 'Banana' $Orange = 'Orange' 我正在尝试将字符串连接到循环中: $Fruits = @($Apple, $Banana, $Orange) foreach ($Fruit in $Fruits) { $Fruit = $Fruit + '.' + "Test" $Fruit } 这在循环的范围内工作。但是我怎样才能永久地设置

我正在学习PowerShell并尝试在循环中设置变量值。使用以下字符串:

$Apple = 'Apple'
$Banana = 'Banana'
$Orange = 'Orange'
我正在尝试将字符串连接到循环中:

$Fruits = @($Apple, $Banana, $Orange)
foreach ($Fruit in $Fruits)
{
    $Fruit = $Fruit + '.' + "Test"
    $Fruit
}

这在循环的范围内工作。但是我怎样才能永久地设置
$Apple、
$Orange
的值呢?

您可以使用和的组合。请记住,数组包含变量名称,而不是它们的

$Apple  = 'Apple'
$Banana = 'Banana'
$Orange = 'Orange'

$FruitVariables = @('Apple','Banana','Orange')

foreach ($Fruit in $FruitVariables)
{
    Set-Variable -Name $Fruit -Value ((Get-Variable -Name $Fruit).Value + ".Test")
}

如果您只对设置数组中的值感兴趣,可以使用索引:

$Fruits = @($Apple, $Banana, $Orange)
foreach ($i in 0..($Fruits.Count - 1))
{
    $Fruits[$i] = $Fruits[$i] + '.' + "Test"
    $Fruits[$i]
}

我觉得可能有一个更优雅的解决方案使用,但以上是什么在我的知识范围