Powershell 通过循环将多个变量读入数组
我相信这很简单,但我只是想绕着它转。我有一个如下所示的XML文件:Powershell 通过循环将多个变量读入数组,powershell,powershell-2.0,Powershell,Powershell 2.0,我相信这很简单,但我只是想绕着它转。我有一个如下所示的XML文件: <software> <program>Bob</program> <program>Reader</program> <program>Hello</program> <program>Java</program> </software> 首先要注意的是,我不知道XML中有多
<software>
<program>Bob</program>
<program>Reader</program>
<program>Hello</program>
<program>Java</program>
</software>
首先要注意的是,我不知道XML中有多少程序条目。我想做的是将所有这些软件放入某种数组中。然后,我需要将它分离成单独的变量(因为我需要将每个变量作为开关传递给命令行)
有人能把我往正确的方向扔吗 这将创建一个程序名集合,并将它们分配给$arrayofsoftware变量
[array]$arrayofsoftware = $xml.software.program
要为每个值创建单独的变量,请使用New variable
cmdlet:
for($i=0; $i -lt $arrayofsoftware.count; $i++)
{
New-Variable -Name "arrayofsoftware$i" -Value $arrayofsoftware[$i]
}
# get a list of arrayofsoftwar variables
Get-Variable arrayofsoftwar*
Name Value
---- -----
arrayofsoftware {Bob, Reader, Hello, Java}
arrayofsoftware0 Bob
arrayofsoftware1 Reader
arrayofsoftware2 Hello
arrayofsoftware3 Java
这正是我想要的-谢谢你的努力和时间!
for($i=0; $i -lt $arrayofsoftware.count; $i++)
{
New-Variable -Name "arrayofsoftware$i" -Value $arrayofsoftware[$i]
}
# get a list of arrayofsoftwar variables
Get-Variable arrayofsoftwar*
Name Value
---- -----
arrayofsoftware {Bob, Reader, Hello, Java}
arrayofsoftware0 Bob
arrayofsoftware1 Reader
arrayofsoftware2 Hello
arrayofsoftware3 Java