Powershell:为Select-Object中的字段使用变量

时间:2017-06-09 14:52:40

标签: powershell

我正在构建一个创建csv文件的脚本。每个csv都有一组不同的字段。一切都很好,但我想控制列顺序输出。我有一个变量,其中包含字段和我想要的顺序。

我知道我可以使用Select-Object来控制它。我想做的是:

$Fields = "ID,Field1,Field2,Field3,Field4"
$Obj | Select-Object $Fields | Export-CSV -Path $OutputPath

而不是:

$Obj | Select-Object "ID","Field1","Field2","Field3","Field4" | Export-CSV -Path $OutputPath

由于我有几种不同的格式,并希望将字段列表作为参数传递给执行工作的函数。这可能吗?

1 个答案:

答案 0 :(得分:3)

是的,这绝对是可能的。

当你传入"ID,"Field1","Field2","Field3","Field4"只是一个字符串数组时。

显示一个文字示例:

$Fields = "ID","Field1","Field2","Field3","Field4"
$Obj |Select-object $Fields |export-csv -path $OutputPath

如何在每次迭代期间分配$Fields的值取决于您。