从Group-Object获取值(Obtain Value From Group-Object)
处理我以前的帖子(这里: 删除PowerShell中的重复XML节点 )
这是我的代码:
#Load XML file into $catalogXML [xml]$catalogXML = (Get-Content (C:\test.xml)) $softwareVersionsArray = $catalogXML.catalog.software $softwareToBeInstalled = $softwareVersionsArray|Group-Object name|ForEach-Object {$_.Group[0]}这是$ softwareToBeInstalled的当前输出:
name version installer_location ---- ------- ------------------ MozillaFirefox 31.3.0 /Mozilla/Firefox/31.3.0.exe Arduino 7.8 /Arduino/7.8.exe GoogleChrome 35.7 /Google/Chrome/35.7.msi使用For循环,我想从我的组对象($ softwareToBeInstalled)中获取值并将它们放入变量(例如$ softwareName,$ softwareVersion等)中。
Working off of a previous post of mine (here: Remove Duplicate XML Nodes in PowerShell)
Here's my code:
#Load XML file into $catalogXML [xml]$catalogXML = (Get-Content (C:\test.xml)) $softwareVersionsArray = $catalogXML.catalog.software $softwareToBeInstalled = $softwareVersionsArray|Group-Object name|ForEach-Object {$_.Group[0]}Here's my current output for $softwareToBeInstalled:
name version installer_location ---- ------- ------------------ MozillaFirefox 31.3.0 /Mozilla/Firefox/31.3.0.exe Arduino 7.8 /Arduino/7.8.exe GoogleChrome 35.7 /Google/Chrome/35.7.msiUsing a For loop, I'd like to grab values from my group object ($softwareToBeInstalled) and place them into variables (such as $softwareName, $softwareVersion, etc).
最满意答案
在$softwareToBeInstalled数组上需要一个简单的foreach循环:
foreach ($soft in $softwareToBeInstalled) { $softwareName = $soft.name $softwareVersion = $soft.version $softwareLocation = $soft.installer_location Write-Host "$softwareName $softwareVersion $softwareLocation" }You need a simple foreach loop on $softwareToBeInstalled array:
foreach ($soft in $softwareToBeInstalled) { $softwareName = $soft.name $softwareVersion = $soft.version $softwareLocation = $soft.installer_location Write-Host "$softwareName $softwareVersion $softwareLocation" }更多推荐
发布评论