在前面的章节中,主要介绍了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判断用来判断条件是否成立,并执行相应的操做。好比判断知道的文件或者文件夹是否存在,若是存在就写入文件,若是不存在就建立文件。好比判断知道的调用是否正确执行等等。