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

Pat*_*k R 4 powershell

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

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

$Fields = "ID,Field1,Field2,Field3,Field4"
$Obj | Select-Object $Fields | Export-CSV -Path $OutputPath
Run Code Online (Sandbox Code Playgroud)

而不是这个:

$Obj | Select-Object "ID","Field1","Field2","Field3","Field4" | Export-CSV -Path $OutputPath
Run Code Online (Sandbox Code Playgroud)

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

bri*_*ist 5

是的,这是绝对可能的。

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

显示一个字面示例:

$Fields = "ID","Field1","Field2","Field3","Field4"
$Obj |Select-object $Fields |export-csv -path $OutputPath
Run Code Online (Sandbox Code Playgroud)

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