【问题标题】:Powershell Custom Objects: How To Acess NoteProperty of collected resultPowershell 自定义对象:如何访问收集结果的 NoteProperty
【发布时间】:2011-08-14 19:59:17
【问题描述】:

阅读有关自定义对象的文章:

http://technet.microsoft.com/en-us/library/ff730946.aspx

我想知道为什么我会得到单个条目的结果:例如 $objAverage.Name

虽然 $colAverages.Name 没有返回任何内容。 虽然使用 Get-Member 都显示 [System.Object] NoteProperty Name

我希望在 $colAverages 中返回我的结果集的所有名称。

文章代码: C:\Temp\base.txt

Name,AtBats,Hits
Ken Myer,43,13
Pilar Ackerman,28,11
Jonathan Haas,37,17
Syed Abbas,41,20
Luisa Cazzaniga,22,6
Andrew Cencini,35,11
Baris Cetinok,19,4

Powershell:

$colAverages = @()

$colStats =Import-Csv C:\Temp\base.txt

foreach ($objBatter in $colStats)
  {
    $objAverage = New-Object System.Object
    $objAverage | Add-Member -type NoteProperty -name Name -value $objBatter.Name
    $objAverage | Add-Member -type NoteProperty -name BattingAverage -value ("{0:N3}" -f ([int] $objBatter.Hits / $objBatter.AtBats))
    $colAverages += $objAverage
  }

$colAverages | Sort-Object BattingAverage -descending

【问题讨论】:

    标签: powershell custom-object pscustomobject


    【解决方案1】:

    试试 $colAverages[0].name

    for ($i=0 ; $i -le $colAverages.Length ; $i++)
    {
      $colAverages[$i].name
    }
    

    或者

    foreach ($a in $colAverages)
    {
      $a.name
    }
    

    --------- 编辑----------

    PS C:\> $colAverages.GetType()
    
    IsPublic IsSerial Name                     BaseType                                                
    -------- -------- ----                     --------                                                
    True     True     Object[]                 System.Array                                            
    
    
    PS C:\> $objAverage.GetType()
    
    IsPublic IsSerial Name                     BaseType                                                
    -------- -------- ----                     --------
    True     True     Oject                            
    

    【讨论】:

    • OK,colAverage 是一个数组,$objAverage 不是。但是为什么会产生相同的结果呢?我想我会看到这两个对象之间的区别......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2019-09-19
    • 2016-10-08
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    相关资源
    最近更新 更多