基本语法
变量:$开头
$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 | 
来源:https://www.cnblogs.com/lori/p/6956585.html