PowerShell中如何在For循环中匹配对象的对应属性值?
PowerShell遍历记录同时获取ID和对应Path的解决方法
你之前只遍历$Records.id,每次循环拿到的只是单独的ID值,自然没法直接关联到对应的path属性。推荐直接遍历整个记录集合,这样每条循环的变量都是包含完整属性的对象:
最优写法
foreach ($record in $Records) { Write-Host "ID: $($record.id),对应Path: $($record.path)" }
备选写法(不推荐,效率较低)
如果一定要先遍历ID再匹配对应记录,可以用Where-Object筛选:
foreach ($id in $Records.id) { $targetRecord = $Records | Where-Object { $_.id -eq $id } Write-Host "ID: $id,对应Path: $($targetRecord.path)" }
第一种写法直接操作完整对象,不需要二次遍历集合,执行效率更高,是更推荐的做法。
内容的提问来源于stack exchange,提问作者TheGoblinPopper
相关产品推荐
相关产品推荐

