基本语法

变量:$开头

$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

作者:仓储大叔,张占岭,
荣誉:微软MVP