如何将 属性 选择作为参数传递
How to Pass property selection as parameter
我有包含各种 columns/fields 的 csv 文件。我有一个处理 csv 文件的脚本。
我想从 csv 文件 select 向脚本传递我想要的属性。
例如如果 csv 文件看起来像:
HotfIxId、名称、日期、已安装
我只想 select HotfixId 和日期,我这样做:
Import-Csv path.csv | select -Property HotfixId,Date
这有效。
但是如果我传入 "HotfixId,Date" 作为参数 $columnsParam
然后在脚本中做
Import-Csv path.csv | select -Property $columnsParam
这不起作用,我只得到一个空的 return,其中 1 列标题为
修补程序 ID、日期
如何将属性传递给脚本,或者如何在 select -属性 语句中 use/dereference 它们?
非常感谢
作为@CB。在对你的问题的评论中说,属性 列表必须是一个数组:
$columnsParam = 'HotfixId', 'Date'
Import-Csv path.csv | select -Property $columnsParam
如果将 $columnsParam
定义为单个字符串,Select-Object
将 select(不存在的)属性 HotfixId,Date
而不是两个属性HotfixId
和 Date
.
我有包含各种 columns/fields 的 csv 文件。我有一个处理 csv 文件的脚本。 我想从 csv 文件 select 向脚本传递我想要的属性。
例如如果 csv 文件看起来像:
HotfIxId、名称、日期、已安装
我只想 select HotfixId 和日期,我这样做:
Import-Csv path.csv | select -Property HotfixId,Date
这有效。
但是如果我传入 "HotfixId,Date" 作为参数 $columnsParam
然后在脚本中做
Import-Csv path.csv | select -Property $columnsParam
这不起作用,我只得到一个空的 return,其中 1 列标题为
修补程序 ID、日期
如何将属性传递给脚本,或者如何在 select -属性 语句中 use/dereference 它们?
非常感谢
作为@CB。在对你的问题的评论中说,属性 列表必须是一个数组:
$columnsParam = 'HotfixId', 'Date'
Import-Csv path.csv | select -Property $columnsParam
如果将 $columnsParam
定义为单个字符串,Select-Object
将 select(不存在的)属性 HotfixId,Date
而不是两个属性HotfixId
和 Date
.