无法将值从命令行传递给Object - Powershell Paramter

时间:2016-12-16 15:06:11

标签: powershell

我试图弄清楚如何将包含Powershell中特殊字符的参数传递给我函数中的Object。这是我的代码示例。

 function a{
 param(
 [string]$string    
 )
 #convert to URL encoding here
 #Query API
 #Return JSON values
 }

现在我在Powershell中输入

 PS> a  foo(foo; bar) foo/bar ver1.0

它会因“;”错误而触发然后“)”成为字符串的一部分

这是错误:

 At line:1 char:32
 + a  foo(foo; bar) foo/bar ver1.0
 +                                ~
 Missing closing ')' in expression.
 At line:1 char:41
 + a  foo(foo; bar) foo/bar ver1.0
 +                                         ~
 Unexpected token ')' in expression or statement.
 + CategoryInfo          : ParserError: (:) [],        ParentContainsErrorRecordException
 + FullyQualifiedErrorId : MissingEndParenthesisInExpression

1 个答案:

答案 0 :(得分:2)

我有两种选择。

使用单引号:

a 'foo(foo; bar) foo/bar ver1.0'

或者逃避所有特殊字符:

a foo`(foo`;` bar`)` foo/bar` ver1.0