Powershell 中的比較運算符
-eq :等于
-ne :不等于
-gt :大于
-ge :大于等于
-lt :小于
-le :小于等于
-contains :包含
-notcontains :不包含
進行比較
可以將比較表達式直接輸入進Powershell控制臺,然后回車,會自動比較并把比較結果返回。
復制代碼 代碼如下:
PS C:Powershell> (3,4,5 ) -contains 2
False
PS C:Powershell> (3,4,5 ) -contains 5
True
PS C:Powershell> (3,4,5 ) -notcontains 6
True
PS C:Powershell> 2 -eq 10
False
PS C:Powershell> "A" -eq "a"
True
PS C:Powershell> "A" -ieq "a"
True
PS C:Powershell> "A" -ceq "a"
False
PS C:Powershell> 1gb -lt 1gb+1
True
PS C:Powershell> 1gb -lt 1gb-1
False
求反
求反運算符為-not 但是像高級語言一樣”! “ 也支持求反。
復制代碼 代碼如下:
PS C:Powershell> $a= 2 -eq 3
PS C:Powershell> $a
False
PS C:Powershell> -not $a
True
PS C:Powershell> !($a)
True
布爾運算
-and :和
-or :或
-xor :異或
-not :逆
復制代碼 代碼如下:
PS C:Powershell> $true -and $true
True
PS C:Powershell> $true -and $false
False
PS C:Powershell> $true -or $true
True
PS C:Powershell> $true -or $false
True
PS C:Powershell> $true -xor $false
True
PS C:Powershell> $true -xor $true
False
PS C:Powershell> -not $true
False
比較數組和集合
過濾數組中的元素
復制代碼 代碼如下:
PS C:Powershell> 1,2,3,4,3,2,1 -eq 3
3
3
PS C:Powershell> 1,2,3,4,3,2,1 -ne 3
1
2
4
2
1
驗證一個數組是否存在特定元素
復制代碼 代碼如下:
PS C:Powershell> $help=(man ls)
PS C:Powershell> 1,9,4,5 -contains 9
True
PS C:Powershell> 1,9,4,5 -contains 10
False
PS C:Powershell> 1,9,4,5 -notcontains 10
True
一、值比較
1) -eq: 相等(equal)運算符
2) –ne:不相等(not-equal)運算符
3) –lt: 小于(less-than)
4) –gt: 大于(greater than)
5) le: 小于等于 (less-than-or-equal)
6) ge: 大于等于(greater-than-or-equal)
值比較運算符可以用來比較兩個數字,也可以用來比較兩個字符串。
注意:字符串比較時忽略大小寫,如果需要大小寫敏感比較,可以使用操作符-ceq, -clt, -cle, -cge。大小寫敏感比較時,小寫字母小于大寫字母。
在PowerShell中明確的大小寫不敏感比較操作符是在默認操作符前加前綴i,即-ieq,-ilt,-ile,-igt,-ige。
二、隱式類型轉換
在PowerShell中自動轉換的通常規則是對于兩個不同類型變量組成的表達式,自動將右側的變量轉換為左側變量的類型,之后計算表達式的值。
三、邏輯和位操作
1) –and與操作符,在操作符兩邊的操作數均為$true時返回$true。
2) –or或操作符,在任何一個操作數為$true時返回$true。
3) –xor異或操作符,如果有一個操作數是$true,那么表達式返回$true;如果兩個操作數均為$true,則返回$false。
4) –not或者! 取反操作符,只有一個操作數,作用將其取反。
5) –band和-bor按位操作與(-band)和按位或(-bor)操作符,僅用于整數。
四、布爾轉換
包括位操作符在內的多個操作符返回數字類型的值,PowerShell可以自動將其轉換為布爾類型的值,轉換規則是任何非空值將會被轉換為$true。非空的概念可以被延伸到更寬泛的范圍,下的即PowerShell將會在需要時隱式轉換為布爾值。也可以在任何值前加[bool]來顯式執行強制類型轉換,轉換規則如下:
1) 任何非零值將會被轉換為$true
2) 非零長度的字符串將會被轉換為$true
3) 至少有一項的集合會返回$true
4) 其他對象將會被轉換成$true,除非它們為$null
五、-like和-match字符串操作符為真,可以用其檢測字符串是否由特定模式組成或其中是否包含所需的字符串形式。
六、集合與條件表達式
PowerShell允許在條件表達式的左邊使用集合。Shell解釋引擎將會把條件表達式逐個應用到集合的成員上,結果是包含返回真值的成員新集合。
您可能感興趣的文章:- Windows Powershell IF-ELSEIF-ELSE 語句
- Windows Powershell Where-Object 條件過濾
- Windows Powershell Switch 語句