Select-Object变量的属性列表

时间:2015-09-01 15:13:44

标签: powershell

我正在尝试分析很多robocopy日志,以便在列而不是行中包含摘要。

我在哈希数组中收集数据,工作正常。每个哈希都具有以下结构:

Bytes_Copied   : 0
Bytes_FAILED   : 0
Source         : PROGRAM
Files_Total    : 582794

我正在那样导出它们:

Bytes_Copied    Bytes_FAILED   Source      Files_Total   
------------    ------------   ------      -----------   
      1.006t           1.69m     TEAM           884194      

由于我想将它们导出为CSV,我希望我能够选择列的顺序。这适用于我"硬编码"命令中的属性:

$collectLines | Select-Object -Property Source,Date,Started,Ended,BpSec |
  Where-Object {$_.Source -eq 'TEAM'} |
  Export-Csv $ExportFileTeam -NoTypeInformation

由于实际上有更多列,我有想法将它们放在一个字符串中,以帮助选择顺序,而无需触及有效的代码。

$ExportList = "Source,Date,Started,Ended,BpSec"

但我无法让Select-Object处理我的字符串:

Select-Object -Property $ExportList

我用括号,括号做了很多事情,没有任何作用。我也无法在互联网上找到线索。

1 个答案:

答案 0 :(得分:2)

您必须将属性列表指定为字符串数组,而不是以逗号分隔名称的单个字符串:

$ExportList = 'Source', 'Date', 'Started', 'Ended', 'BpSec'