Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 通过循环将多个变量读入数组_Powershell_Powershell 2.0 - Fatal编程技术网

Powershell 通过循环将多个变量读入数组

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中有多

我相信这很简单,但我只是想绕着它转。我有一个如下所示的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