PowerShell 語法與運算子

2021-09-07 11:55:13 字數 2543 閱讀 4650

基本語法

變數:$開頭

$a = "

hello

"

條件語句:if else

if ($price -eq 2

) else

迴圈語句:for

for($i=0;$i -lt 3;$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

powershell常量與變數

powershell是乙個物件導向的語言,在宣告變數的時候不強制要求宣告資料型別,使用 開頭來申明變數即可。檢視變數的資料型別 變數是有了,powershell能定義常量麼?當然可以,不過需要用new variable來定義 常量是不能改變的,嘗試給它重新賦值會丟擲錯誤。這不是悲劇,悲劇的是,常量不...

power shell函式與管道

1 where object 過濾列表項或命令輸出結果 get childitem where object 瀏覽目錄,篩選檔案大小小於等900b get childitem where object 瀏覽目錄,篩選檔案匹配 工具 2 foreach object 處理列表或者命令輸出的每乙個專案 ...

PowerShell與系統開局(上)

這個需求簡直慘不忍睹,就是裝電腦配ip,啟用,這話題估計犯禁了 還有一些安全配置。以下指令碼用powershell完成 c microsoft toolkit 2.4.3.exe echo echo hyper v開局指令碼,至少需要powershell3.0,即windows server 201...