基本語法
變量:$開頭
$a = "Hello"
條件語句:if else
if ($price -eq 2) { Write-Host "偶數" } else{ Write-Host "基數" }
循環語句:for
for($i=0;$i -lt 3;$i++)
{ Write-Host "`$i=$i" }
比較運算符
| 說 | 示例 | 結果 | |
| -eq | 等於。包含一個相同的值。 | 1 -eq 1 "abc” -eq “abc” 1,2,3 -eq 2 1,2,3,1,2,3,1,2,3 –eq 2 "abc”,"def” -eq “abc |
true true 2 2,2,2 abc |
| -ne | 不等於。包含一個不同的值。 | 1 -ne 1 1,2,3 –ne 1 "abc”,"def” –ne “abc” |
false 2,3 def |
| -gt | (>)大於 | 1 -gt 1 | false |
| -ge | (>=)大於或等於 | 1 -ge 1 | true |
| -lt | (<)小於 | 1 -lt 1 | false |
| -le | (<=)小於或等於 | 1 -le 1 | true |
| -like | 使用通配符 (*) 匹配。 | “abc” -like “*b*” | true |
| -notlike | 使用通配符 (*) 不匹配。 | “abc” -notlike “*b*” | false |
| -match | 當運算符的輸入(左側參數)是一個單標量對象時,-match 和 -notmatch 運算符填充 $Matches 自動變量。當輸入是標量時,-match 和 notmatch 運算符返回布爾值,並將 $Matches 自動變量 的值設置為參數的匹配項目。 如果輸入是一個集合,則 -match 和 -notmatch 運算符返回該集合中的匹配成員,但運算符不會填 充 $Matches 變量。 | 123 -match “^[\d]+$” "abc” -match “^[\w]+$” "abc”,123 –match “^[\d]+"$” |
true ($matches為123) true ($matches為abc) 123 ($matches為空) |
| -notmatch | 正則表達式比較 | 123 -notmatch “^[\d]+$” | false |
| -contains | 包含運算符。包含一個相同的完整值(而不是值的一部分)。始終返回布爾值。 | "abc”,"def” -contains “abc” "abc”,"def” -contains “ab” "abc”,"def” -contains “ab*” |
true false false |
| -notcontains | 包含運算符。不包含一個相同值。始終返回布爾值。 | "abc”,"def” -notcontains “abc” | false |
| -replace | 替換,支持正則表達式 | “abc“ -replace “b”,"-" "a1b2c3” -replace “\d”,"-" |
a-c a-b-c- |
邏輯運算符
| 說明 | 示例 | 結果 | |
| -and | 邏輯與。 僅當兩條語句都為 TRUE 時才為 TRUE。 |
$true -and $false $true -and $true (1 -eq 1) -and (1 -eq 2) |
false true false |
| -or | 邏輯或。 當其中一條語句為 TRUE或兩條語句都為 TRUE 時為 TRUE。 |
$true -or $false (1 -eq 1) -or (1 -eq 2) |
true true |
| -xor | 邏輯異或。 僅當一條語句為 TRUE而另一條語句為 FALSE 時才為 TRUE。 |
$true -xor $false $true -xor $true |
true false |
| -not ! |
邏輯非。對后面的語句取反。 | -not $true !$true |
false false |
