Powershell:引用包含空格的属性

我正在使用PowerShell导入CSV文件。

问题是,其中一列的标题是“剩余时间 – 小时”。 所以我得到了一系列的对象,并且它实际上被分配了属性“剩余时间 – 小时”。

什么是指这个属性的语法?

例如

Import-Csv AllOpenCases.csv | % {$case = $_ } $case | get-member 

回报

 Category : Inquiry Starred : No Remaining Time - Hours : 22.5 

但如果我input

 $case.Remaining Time - Hours 

我得到“意想不到的令牌时间”的expression或陈述“

embedded空格的属性在被引用时必须被引用:

  $case."Remaining Time - Hours" 

只是添加,属性名称本身可以是一个variables,例如:

 PS> $o = new-object psobject -prop @{'first name' = 'John'; 'last name' = 'Doe'} PS> $o last name first name --------- ---------- Doe John PS> $prop = 'first name' PS> $o.$prop John 

或者您也可以在{}中包装该属性。 喜欢这个:

  $case.{Remaining Time - Hours} 

FWIW,如果编码很痛苦,可以添加一个别名属性:

  $caseprops = @" Category = Inquiry Starred = No Remaining Time - Hours = 22.5 "@ $case = new-object psobject -property ($caseprops | convertfrom-stringdata) $case | add-member aliasproperty "RT" "Remaining Time - Hours" $case | fl Remaining Time - Hours : 22.5 Starred : No Category : Inquiry RT : 22.5