我正在尝试分析大量robocopy日志,以便在列而不是行中进行摘要。
我将数据收集在一个哈希数组中,效果很好。每个哈希具有以下结构:
Bytes_Copied : 0
Bytes_FAILED : 0
Source : PROGRAM
Files_Total : 582794
Run Code Online (Sandbox Code Playgroud)
我这样导出它们:
Bytes_Copied Bytes_FAILED Source Files_Total
------------ ------------ ------ -----------
1.006t 1.69m TEAM 884194
Run Code Online (Sandbox Code Playgroud)
因为我想将它们导出到 CSV 中,所以我希望能够选择列的顺序。当我在命令中“硬编码”属性时,这有效:
$collectLines | Select-Object -Property Source,Date,Started,Ended,BpSec |
Where-Object {$_.Source -eq 'TEAM'} |
Export-Csv $ExportFileTeam -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
由于实际上有更多的列,我想到将它们放入一个字符串中,以帮助选择顺序,而无需触及有效的代码。
$ExportList = "Source,Date,Started,Ended,BpSec"
Run Code Online (Sandbox Code Playgroud)
但我无法让 Select-Object 处理我的字符串:
Select-Object -Property $ExportList
Run Code Online (Sandbox Code Playgroud)
我用括号、大括号尝试了很多东西,但没有任何效果。我也无法在互联网上找到线索。
您必须将属性列表指定为字符串数组,而不是具有逗号分隔名称的单个字符串:
$ExportList = 'Source', 'Date', 'Started', 'Ended', 'BpSec'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12844 次 |
| 最近记录: |