【发布时间】:2015-12-11 16:49:14
【问题描述】:
场景
当我的变量(称为 $Numbers)包含 0、1 和 2 时,它将运行第一个 IF 语句下的任何内容。如果我的变量包含 0、1、2 和 3,它将运行另一个 IF 语句。
问题
我似乎无法让它工作,因为它连续运行第一个 IF 语句(由于仍然包含 0、1 和 2),但如果它不包含数字 3,则永远不会跳过它。
简要代码示例
If ($Numbers -contains "*0,*" -and "*1,*" -and "*2,*") {
Write-Host = "Does not contain 3"
}
Elseif ($Numbers -contains "*0,*" -and "*1,*" -and "*2,*" -and "*3,*") {
Write-Host "Contains 3"
}
感谢任何指导。
【问题讨论】:
-
如果
$Numbers是一个集合,则删除通配符。如果$Numbers是字符串,请使用matchiocontains。在这两种情况下,正如 Maarten 所说,颠倒声明。 -
我真的很想看看 $numbers 是如何填充的或确切的内容。
标签: powershell