Powershell:Foreach 不工作?

标签 powershell foreach

所以我的 foreach 循环有问题,我不知道我做错了什么。

下面是我的代码示例:

 $objectarray ##( So this variable contains a list of lists ie name + address) ##

 Foreach ($object in $objectarray.name){


$objectid = $objectarray.Where({$_.name -eq "$object"}).id
$objectaddress = $objectarray.Where({$_.name -eq "$object"}).address

$objectprint = "$objectid" + ": " + "$objectaddress"

$objectprint
return 0

}

现在的问题是 $objectarray 里面有多个列表,每个列表都有它的名字、id、地址等

但它只打印第一个,我只得到第一个 0 作为返回......尽管事实上有很多

最佳答案

您正在以一种奇怪的方式解析您的对象。您为什么不使用管道让自己更轻松一些?

$ObjectArray | % { "$($_.id): $($_.address)"; 0 }

一切都将以这种方式放入成功/输出管道并可以被捕获(例如,如果您将 $var = 放在表达式之前)

关于Powershell:Foreach 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44709524/

相关文章:

powershell - 如何在 Powershell 类中抑制 "Unapproved verbs"

php - Foreach 循环在最后一个数组更新后仍然执行

powershell - 从特定 Outlook 文件夹中最近收到的电子邮件中抓取文件

powershell - 扩展MemberOf

powershell - 有没有办法通过多个扩展名来过滤 $OpenFileDialog.filter?

powershell - Get-Member 中的 ForEach 属性

php - Smarty foreach mysql 问题

powershell - 将 azure 存储帐户设置为当前存储帐户 powershell

xml - For-each 位于另一个 For-Each 内,并使用第二个循环的值访问第一个循环中定义的属性

php - 当 SUM 用于特定条件时,如何避免在 FOREACH block 中进行 MySQL 查询?