上一節介紹了Powershell賦值運算符中的 = ,+= , -= ,詳細內容參考這裏。 shell
本節介紹Powershell賦值運算符中的 *= , /= , %= , ++ , -- 。數組
1.乘法賦值運算符 (*=)ide
乘法賦值運算符 (*=) 對數字值執行乘法或追加指定數目的變量字符串值副本。若是變量是單個數字值,則將該值與運算符右側的值相乘,並將結果賦值給變量。例如:spa
PS C:\> $a=2 PS C:\> $a*=5 PS C:\> $a 10
在上面的語句中,*= 運算符組合了兩個運算。首先執行乘法,而後賦值。所以,如下語句是等效的:blog
PS C:\> $a*=3 PS C:\> $a=($a * 3)
若是變量包含字符串值,則 PowerShell 將指定數目的字符串追加到該值,至關於將字符串複製指定的倍數,而後賦值,例如:索引
PS C:\> $a="Powershell" PS C:\> $a *= 3 PS C:\> $a PowershellPowershellPowershell
須要注意的是不能夠對兩個字符串進行相乘操做,即如下語句是無效的。
ci
PS C:\> $a="Powershell" PS C:\> $a *= "Powershell" 沒法將值「Powershell」轉換爲類型「System.Int32」。錯誤:「輸入字符串的格式不正確。」 所在位置 行:1 字符: 6 + $a *= <<<< "Powershell" + CategoryInfo : NotSpecified: (:) [], RuntimeException + FullyQualifiedErrorId : RuntimeException
要對數組的元素執行乘法,須要使用索引標識要執行乘法的元素。例如,下面的命令使數組中第一個元素( 索引位置 0 )乘以 4。字符串
PS C:\> $a=1,2,3 PS C:\> $a[0] *= 4 PS C:\> $a 4 2 3
2. 除法賦值運算符 (/=)get
除法賦值運算符 (/=) 使數字值除以在運算符右側指定的值。除法運算符不能用於處理字符串變量。/= 運算符組合了兩個運算。首先執行除法,而後賦值。所以,如下兩個語句是等效的:it
PS C:\> $a /= 2 PS C:\> $a = ($a / 2)
例以下面的命令使用 /= 運算符對變量的值執行除法:
PS C:\> $a = 8 PS C:\> $a /= 4 PS C:\> $a 2
與乘法賦值運算符相似,若是須要須要對數組元素執行,須要指定元素的下標(索引)。
3. 模賦值運算符 (%=)
模賦值運算符 (%=) 使變量的值除以運算符右側的值,將餘數賦值給變量,即取餘操做,與除法賦值運算符相似,兩個操做時數字時,才能使用此運算符。若是變量包含字符串變量或數組,則不能使用此運算符。%= 運算符組合了兩個運算。首先,執行除法運算並肯定餘數,而後將餘數賦予變量。所以,如下語句是等效的:
PS C:\> $a %= 4 PS C:\> $a = ($a % 4)
下面的語句使用 %= 運算符保存商的模(餘數):
PS C:\> $a = 9 PS C:\> $a %= 4 PS C:\> $a 1
4. 遞增運算符(++)和遞減運算符(--)
遞增運算符 (++) 使變量的值增長 1。在簡單語句中使用遞增運算符時,默認不返回任何值。要查看變量結果,請輸入變量名稱。例如:
PS C:\> $a=5 PS C:\> ++$a PS C:\> $a 6
若是要強制返回值,須要將變量和運算符括在圓括號內。例如:
PS C:\> $a=5 PS C:\> (++$a) 6
遞增運算符有前綴(遞增運算符放在變量以前)和後綴(遞增運算符放在變量以後)。若是前綴形式,則在變量的值用於語句以前使變量遞增(先自增,後運算)。例如:
PS C:\> $a=4 PS C:\> $b = ++$a PS C:\> $b 5 PS C:\> $a 5
若是是後綴形式,則在變量的值用於語句以後使變量遞增(先運算,後自增)。例如對比下面的語句和上面語句執行的不一樣,$b的值並無在$a++後馬上改變:
PS C:\> $a=4 PS C:\> $b = $a++ PS C:\> $a 5 PS C:\> $b 4
遞減運算符和遞增運算符徹底相似,請自行類推。 須要注意的是,遞增和遞減運算符通常用在循環結構中,重複判斷某一變量是否知足必定條件以此來進行下一步運算,會在Powershell的循環部分講到,如今你能夠理解爲Java或是C#中的for循環的遞增變量i。