在前面的章節中,主要介紹了Powershell的開發工具,變量,運算符以及一些特殊的變量,從本節開始介紹Powershell中的語法結構。shell
本節主要介紹Powershell中的if條件判斷。另外但願讀者從本節開始使用Powershell_ISE進行代命令的輸入與運行,Powershell_ISE提供了界面化的命令輸入,參數提示,自帶補全,debug等特性,很是有利於編寫正確的腳本。
編程
if可用於根據一個或多個條件測試的結果選擇運行不一樣的命令。與Java、C#、C、C++編程語言中的if的使用方法徹底一致。
if 語句的語法: less
if (<測試條件1>) <語句塊1>} [elseif (<測試條件2>) {<語句塊2>}] [else {<語句塊3>}]
運行 If 語句時,PowerShell 計算 <測試條件1> 條件表達式的結果是 true 仍是 false。編程語言
若是 <測試條件1> 爲 true,則運行 <語句塊1>,而且 PowerShell 退出if語句。ide
若是 <測試條件1> 爲 false,則 PowerShell 計算 <測試條件2> 條件表達式所指定的條件。工具
若是 <測試條件2> 爲 true,則運行 <語句塊2>,而且 PowerShell 退出 if 語句。開發工具
若是 <測試條件1> 和 <測試條件2> 的計算結果都爲 false,則運行 <語句塊3> 代碼塊,而且PowerShell 退出 if 語句。測試
注意: 在其餘語言中,else if判斷分支中的else和if都是分開的,可是在Powershell中的,兩個單詞是鏈接在一塊兒的,須要特別注意。spa
下面舉例說明if語句的使用。debug
if語句只包含一個判斷分支。
$a=3 if ($a -gt 2) { Write-Host "The value $a is greater than 2." }
在開始處定義了$a=3,而後對a的進行判斷,顯然條件成立,最後會打印出
"The value $a is greater than 2."
2. 也能夠對其添加else分支,如
$a=3 if ($a -gt 2) { Write-Host "The value $a is greater than 2." } else { Write-Host "The value $a is less than or equal to 2, is not created or is not initialized." }
3. 添加elseif便可實現對條件的屢次判斷。
if ($a -gt 2) { Write-Host "The value $a is greater than 2." } elseif ($a -eq 2) { Write-Host "The value $a is equal to 2." } else { Write-Host "The value $a is less than 2 or was not created or initialized." }
總結
if判斷用來判斷條件是否成立,並執行相應的操做。好比判斷知道的文件或者文件夾是否存在,若是存在就寫入文件,若是不存在就建立文件。好比判斷知道的調用是否正確執行等等。