使用变量-Powershell从CSV中删除多列

使用变量-Powershell从CSV中删除多列,powershell,Powershell,我试图找到一种方法,在导入CSV文件时,将列列表作为要排除的参数传递。当我显式列出列时,我可以让代码正常工作,但我希望能够从调用应用程序传入列列表的参数,这样我就不必在每次需要排除更多列时更新脚本 这当然有效: $NewCsv = Import-CSV $FileFullPath | Select * -ExcludeProperty user_id,first_name,last_name,email 但这不起作用: $removecolumns = "'user_id','fir

我试图找到一种方法,在导入CSV文件时,将列列表作为要排除的参数传递。当我显式列出列时,我可以让代码正常工作,但我希望能够从调用应用程序传入列列表的参数,这样我就不必在每次需要排除更多列时更新脚本

这当然有效:

$NewCsv = Import-CSV $FileFullPath | Select * -ExcludeProperty user_id,first_name,last_name,email
但这不起作用:

$removecolumns = "'user_id','first_name','last_name','email'"
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns
这也不是:

$removecolumns = "user_id,first_name,last_name,email"
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns
或者这个:

$removecolumns = @('user_id','first_name','last_name','email')
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns

我会继续挖掘,但任何建议都将不胜感激

我最终通过使用

 $removecolumns = @('user_id','first_name','last_name','email')
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns
调用脚本并将@(‘user_id’、‘first_name’、‘last_name’、‘email’)作为参数传入的应用程序就是问题所在

谢谢

作为示例,您可以删除
@
符号和括号:
$removecolumns='user\u id','first\u name','last\u name','email'