冷凝Powershell嵌套If / ElseIf

时间:2014-11-18 23:45:49

标签: powershell

我对缩小某些代码有点疑问。在一两个函数中使用它我正在写。首先是一些例子。

这是If / ElseIf方法。

If ($aVar -eq 1) {
    If ($bVar -le $cVar) {
        # code
        # code
        # code
        # code
    }
}
ElseIf ($aVar -eq 2) {
    If ($bVar -gt $cVar) {
        # code
        # code
        # code
        # code
    }
}

这就是Switch方法。

Switch ($aVar) {
    {$_ -eq 1} { 
        If ($bVar -le $cVar) {
            #code 
            #code 
            #code 
            #code 
        }
    }
    {$_ -eq 2} { 
        If ($bVar -gt $cVar) {
            #code 
            #code 
            #code 
            #code 
        }
    }

是否有可能将其浓缩?

#code部分完全相同,所以想知道是否只能编写一次,而不是在任何一种方法中使用两次。

谢谢!

1 个答案:

答案 0 :(得分:2)

如何使用-OR和-AND参数?

If(($aVar -eq 1 -and $bVar -le $cVar) -or ($aVar -eq 2 -and $bVar -gt $cVar)){
    #code
    #code
    #code
    #code
}