仅使用变量将数组添加到多阵列以引用arraynames

时间:2012-11-05 12:34:33

标签: powershell powershell-v2.0

为了在函数中使用数组,我想学习如何通过变量中定义的名称来引用它们。这就是为什么在这里以一种相当复杂的方式完成非常简单的事情......

Remove-Variable array*
Remove-Variable first*
Remove-Variable second*
$arrayname='name'

$arrayfirst='firstarray'
Set-Variable -Name $($arrayfirst + $arrayname) -Value $(cat textfile.txt)
$(Get-Variable -Name $($arrayfirst + $arrayname) -ValueOnly) -is [array]

$(Get-Variable -Name $($arrayfirst + $arrayname) -ValueOnly)

第一行

第二行

第三行

$arraysecond='secondarray'
Invoke-Expression "`$$($arraysecond + $arrayname)= @()"
$(Get-Variable -Name $($arraysecond + $arrayname) -ValueOnly) -is [array]

Invoke-Expression "$($arraysecond + $arrayname)+= ,$(Get-Variable -Name $($arrayfirst + $arrayname) -ValueOnly)"


$null -eq $(Get-Variable -Name $($arraysecond + $arrayname) -ValueOnly)

 $null -eq $($(gv $($arraysecond + $arrayname) -ValueOnly)[0])

表示未正确添加包含行的数组。

1 个答案:

答案 0 :(得分:0)

我改变了第二个Invoke-Expression,这使它按照你想要的方式工作:

Invoke-Expression "`$$($arraysecond + $arrayname) += `$(Get-Variable -Name $($arrayfirst + $arrayname) -ValueOnly)"