探索PowerShell(九) 条件控制、逻辑_PowerShell

逻辑判断

先来简单介绍最基本的逻辑判断:

• -eq 判断是否等于(equal)
• -lt 判断时候小于(less than)
• -gt 判断是否大于(greater than)
• -ge 判断是否大于或等于(greater of equal)
• -le 判断是否小于或等于(less or equal)
• -ne 判断是否不等于(no equal)

在之前的几个小节中,如果你注意的话,应该可以发现PowerShell对于大小写并不敏感,可是在某些时候我们却需要区分它们,因此,还可以使用诸如:

• -ieq (case-insensitive)
• -ceq (case-sensitive)

前者是忽略大小写,后者则是区分大小写。

示例:

复制代码 代码如下:

"MaRui" -eq "marui" <enter>
结果:"True"
"MaRui" -ieq "MARUI" <enter>
结果:"True"
"MaRui" -ceq "MARUI" <enter>
结果:"False"

逻辑运算

• -and 与
• -or 或
• -not 非
• ! 非

条件

if、else、elseif语句
基本语法:

复制代码 代码如下:

if (条件)
{代码}
elseif (条件)
{代码}
else (条件)
{代码}
else
{代码}

例如:

复制代码 代码如下:

$n=10
if ($n -eq 1)
{"n=1"}
elseif ($n -ne 1)
{"n!=1,and n=$n"}

下面的脚本是用来查看本机操作系统的,使用了"if"语句。请复制下面的脚本并且保存为"OS.ps1",用PowerShell运行试试。

复制代码 代码如下:

$ComputerName = (Get-WmiObject -class win32_computersystem).name
$OS_Version = (Get-WmiObject -class win32_operatingsystem -computer $ComputerName).version
if (($OS_Version -eq "5.1.2600") -or ($OS_Version -eq "5.2.3790"))
{
write-host "Computer Name:"$ComputerName
if ($OS_Version -eq "5.1.2600")
{
write-host "OS:Windows XP"
}
elseif ($OS_Version -eq "5.2.3790")
{
write-host "OS:Windows 2003"
}
}
elseif (($OS_Version -eq "5.0.2195") -or ($OS_Version -eq "6.1.7600"))
{
write-host "Computer Name:"$ComputerName
if ($OS_Version -eq "5.0.2195")
{
write-host "OS:Windows 2000 Server"
}
elseif ($OS_Version -eq "6.1.7600")
{
write-host "OS:Windows 7"
}
}
else
{
write-host "$ComputerName is not supported."
}
"–END OF REPORT–"

在我的计算机上的运行结果:

"switch"语句

基本语法:

复制代码 代码如下:

switch (表达式)
{
(表达式) {代码}
值 {代码}
default {默认执行代码}
}

例如,我们可以查询"domainRole"的值来判断计算机在当前Active Directory域中担任的角色,试试下面的代码:

复制代码 代码如下:

switch ((Get-WmiObject -Class win32_ComputerSystem).domainRole)
{
0 {Write-Host "Standalone Workstation"}
1 {Write-Host "Member Workstation"}
2 {Write-Host "Standalone Server"}
3 {Write-Host "Member Server"}
4 {Write-Host "Backup Domain Controller"}
5 {Write-Host "Primary Domain Controller"}
default {Write-Host "Cannot determine domain role"}
}

判断语句为表达式的例子:

复制代码 代码如下:

switch (100)
{
(99 + 1) {Write-Host "99+1=100"}
(1 + 100) {Write-Host "1+100=100"}
(50*2) {Write-Host "50*2=100"}
(33.333*3) {Write-Host "33.333*3=100"}
}

运行结果:

这节就说到这里吧,下一节将讲一讲循环语句的使用。

时间: 2024-09-29 23:29:00

探索PowerShell(九) 条件控制、逻辑_PowerShell的相关文章

探索PowerShell(六) 脚本基础简要_PowerShell

PowerShell脚本基础知识概览: 常量.变量.数组.哈希 条件.逻辑 循环控制 模块化 WMI对象(各种设备) ADSI对象(活动目录) 常量.变量.数组.哈希 各种字符串操作 使用常量和变量 各种运算符和表达式 创建.修改.合并数组或哈希表 条件.逻辑 判断各种条件 "if"."switch"语句 使用运算符进行判断 循环控制 "while"."do while"."do until"."

探索PowerShell(十) 循环语句介绍_PowerShell

PowerShell作为可编程性语言,拥有以下循环语句. 注:本节所要讨论的内容的实质更多的偏向于程序设计方面,所以在此不做过多详细讲解,只针对PowerShell中的应用进行具体讲解. • for (初值;表达式;赋值语句) {代码} 用变量值控制执行次数 • foreach (成员变量 in 数组) {代码} 利用迭代执行代码 • foreach-object 对一组输入的每个对象执行运算 • while(表达式) {代码} 表达式为真时循环执行代码 • do {代码} while(表达式)

【探索PowerShell 】【六】脚本基础简要

在后续的教程中,我将主要介绍PowerShell的脚本是如何编写的.这一节,先做一个概览 和大体的介绍,今天是假日,就先不写太多,明天开始逐条讲解. PowerShell脚本基础知识概览: 常量.变量.数组.哈希 条件.逻辑 循环控制 模块化 WMI对象(各种设备) ADSI对象(活动目录) 常量.变量.数组.哈希 各种字符串操作 使用常量和变量 各种运算符和表达式 创建.修改.合并数组或哈希表 条件.逻辑 判断各种条件 "if"."switch"语句 使用运算符进

《从问题到程序:用Python学编程和计算》——2.7 判断和条件控制

2.7 判断和条件控制 数学里有一些表示判断的算符,如表示数值之间的等于或不等于.大于.小于等.Python提供了一些用于描述条件判断的运算符以及一种特殊的语句(称为if语言,条件语句),它能利用条件判断的结果选择执行不同的语句或语句序列. 2.7.1 条件判断和逻辑表达式 对于数值类型,这里有一组比较运算符用于描述基本条件判断,包括: 用一个比较运算符和两个数值表达式,可以构造出一个关系表达式,其意义就是判断两个数值之间的特定关系是否成立. 比较运算符也是一类运算符,求值一个关系表达式,也应该

Java 语法介绍(五):条件控制

条件控制:if和switch 1:条件语句 条件语句是程序设计中最常用的语句,用他来选择程序的执行流程,Java中的基本条件判断语句是if...else...语句.其机构为: if (条件表达式){语句1}Else{语句2}语句3 "条件表达式"的值为真时执行"语句1",然后执行语句3:否则执行"语句2",然后执行语句3. 下面是一个用if--else语句构造多分支程序的例子: if(a>5) b=1else if(a>4) b=2e

探索ORACLE之RMAN_07控制文件丢失恢复

探索ORACLE之RMAN_07控制文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com 1.     控制文件(controlfile)丢失恢复 基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失.基于第一种情况,只需把好的控制文件复制一份在损坏或丢失的那个控制文件路径下即可.第二种情况下则需要通过备份信息来对控制文件进行恢复或手工

Shell脚本的条件控制和循环语句_linux shell

条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误. if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句 if ... else ... fi 语句 if ... elif ... else ... f

PL/SQL学习笔记-条件控制

一:if条件控制先看一段程序: declare v_content varchar2(66); begin select content into v_content from xland where title='xland'; if length(v_content)>6 then v_content := substr(v_content,0,6)||'...'; else v_content := v_content||'(全部数据)'; end if; dbms_output.put_

SAP MM 工厂级别的条件控制的配置,能决定是否在PLANT级别上维护条件.

SAP MM工厂级别的条件控制的配置,能决定是否在PLANT级别上维护条件.   IMG->MM--->Purchasing   进入如下界面:       比如我把工厂1200维护成'-'(No Plant-Related Conditions allowed),再去前台创建工厂相关的INFO RECORD,无法成功,系统报错:     微信号:JINYULIN_SH_   QQ:  2806032155