• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    探索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"}
    }

    运行结果:


    这节就说到这里吧,下一节将讲一讲循环语句的使用。
    上一篇:探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
    下一篇:探索PowerShell(十) 循环语句介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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