我有以下代码行在powershell 3.0中运行
$Type = "DD"
if ($Type -in "AA","BB","CC") {Write-Host "Type = $Type" -ForegroundColor Yellow }
然而,使用PowerShell 2.0运行时出现错误
- : You must provide a value expression on the right-hand side of the '-' operator.
+ CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
为什么会这样?我该如何解决?
答案 0 :(得分:3)
-in
。您需要使用-contains
代替(和相应的箔-notin
/ -notcontains
)。相同的功能,但只是不太直观。这是-in
被引入的原因之一。
if ("AA","BB","CC" -contains $Type){"Do Stuff"}
虽然链接的文档是3.0及更高版本,但我不相信与-contains
相关的部分有任何不同。