假设我们有一个对象数组 $objects。假设这些对象有一个“Name”属性。
这就是我想做的
$results = @()
$objects | %{ $results += $_.Name }
这可行,但是可以用更好的方式来完成吗?
如果我做类似的事情:
$results = objects | select Name
$results
是具有 Name 属性的对象数组。我希望 $results 包含一个名称数组。
有没有更好的办法?
我想你也许可以使用ExpandProperty
的参数Select-Object
.
例如,要获取当前目录的列表并仅显示 Name 属性,可以执行以下操作:
ls | select -Property Name
这仍然返回 DirectoryInfo 或 FileInfo 对象。您始终可以通过管道检查通过管道的类型获取会员 http://technet.microsoft.com/en-us/library/hh849928.aspx (alias gm
).
ls | select -Property Name | gm
So, to expand对象是您正在查看的属性类型的对象,您可以执行以下操作:
ls | select -ExpandProperty Name
在您的情况下,您可以执行以下操作以使变量成为字符串数组,其中字符串是 Name 属性:
$objects = ls | select -ExpandProperty Name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)