如何将属性选择作为参数传递

时间:2015-06-23 10:14:08

标签: arrays csv select powershell-v3.0

我有包含各种列/字段的csv文件。我有一个处理csv文件的脚本。 我想将要从csv文件中选择的属性传递给脚本。

e.g。如果csv文件看起来像:

HotfIxId,名称,日期,IsInstalled

我想选择HotfixId和Date,我这样做:

Import-Csv path.csv | select -Property HotfixId,Date

这有效。

但是如果我将“HotfixId,Date”作为名为$ columnsParam

的参数传入

然后在脚本中执行

Import-Csv path.csv | select -Property $columnsParam

这不起作用,我只得到一个带有1列标题为

的空返回

HotfixId,日期

如何将属性传递给脚本,或者如何在select -property语句中使用/取消引用它们?

非常感谢

1 个答案:

答案 0 :(得分:1)

作为@CB。在你的问题的评论中说,属性列表必须是一个数组:

$columnsParam = 'HotfixId', 'Date'
Import-Csv path.csv | select -Property $columnsParam

如果您将$columnsParam定义为单个字符串,Select-Object将选择(不存在的)属性HotfixId,Date,而不是两个属性HotfixIdDate }。