我试图弄清楚如何将包含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
答案 0 :(得分:2)
我有两种选择。
使用单引号:
a 'foo(foo; bar) foo/bar ver1.0'
或者逃避所有特殊字符:
a foo`(foo`;` bar`)` foo/bar` ver1.0