Powershell:为选择对象中的字段使用变量

Powershell:为选择对象中的字段使用变量,powershell,Powershell,我正在构建一个创建csv文件的脚本。每个csv都有一组不同的字段。一切都很好,但我想控制列顺序输出。我有一个变量,它包含字段和我希望它们的顺序 我知道我可以使用选择对象来控制它。我想做的是: $Fields = "ID,Field1,Field2,Field3,Field4" $Obj | Select-Object $Fields | Export-CSV -Path $OutputPath 与此相反: $Obj | Select-Object "ID","Field1","Field2",

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

我知道我可以使用选择对象来控制它。我想做的是:

$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

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

是的,绝对可能

当您传入
“ID”、“Field1”、“Field2”、“Field3”、“Field4”时,这只是一个字符串数组

要显示文字示例,请执行以下操作:

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

在每次迭代过程中,如何分配
$Fields
的值取决于您。

谢谢!非常适合。