假设我们有一个对象数组$ objects。假设这些对象具有“名称”属性。
这就是我想做的
$results = @() $objects | %{ $results += $_.Name } 这行得通,但是可以用更好的方式做到吗?
如果我做类似的事情:
$results = objects | select Name $results是具有Name属性的对象数组。我希望$ results包含一个Names数组。
有没有更好的办法? 问题来源于stack overflow
我认为您也许可以使用的ExpandProperty参数Select-Object。
例如,要获取当前目录的列表并仅显示Name属性,可以执行以下操作:
ls | select -Property Name 这仍然返回DirectoryInfo或FileInfo对象。您始终可以通过管道传递到Get-Member(别名gm)来检查通过管道的类型。
ls | select -Property Name | gm 因此,要将对象扩展为要查看的属性类型,可以执行以下操作:
ls | select -ExpandProperty Name 就您而言,您可以执行以下操作以使变量为字符串数组,其中字符串为Name属性:
$objects = ls | select -ExpandProperty Name
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。