Powershell - 从脚本args调用select-string w /参数

时间:2011-03-04 22:59:28

标签: powershell

我有一个简单的脚本来为特定的文件扩展名调用select-string。我想通过脚本args选择性地提供其他select-string参数。

我的脚本findm.ps1

# simplified version to show error
select-string *.m -pattern $args[0] $args[1]

当我输入findm.ps1 someFileName -List

我收到以下错误

Select-String : A positional parameter cannot be found that accepts argument '-List'.

键入以下格式的cmd行正常工作

select-string *.m -pattern "someFileName" -List

提前致谢

JRA

2 个答案:

答案 0 :(得分:0)

试试这个:

& "select-string *.m -pattern $($args[0]) $($args[1])"

答案 1 :(得分:0)

解析器将-List解释为字符串(不是参数),需要与参数关联。

迈克很接近,但你需要在构建命令字符串之后将其重新解析为powershell表达式:

invoke-expression "select-string *.m -pattern $($args[0]) $($args[1])"