PowerShell:运算符

原创 2007年10月02日 14:11:00

 

如下是通过帮助内容输出得到


 主题
    比较运算符

简短说明
    Windows PowerShell 中用于对值进行比较的运算符

详细说明
    比较运算符用于比较命令中不同参数中的值。从根本上说,每次比较都将创建一
    个条件,该条件的计算结果为 True 或 False。根据该比较,可以采取相应的操
    作。例如,可以将比较运算符与语句块结合使用,以测试特定的条件。该测试的
    结果将确定应采取何种操作(亦即,将运行哪些代码块)。

    PowerShell 支持以下比较运算符:

    运算符       说明                   示例                     t/f
    ------------ --------------------- ------------------------ -----
    -eq          等于                   10 -eq 10                true
    -ne          不等于                 10 -ne 10                false
    -gt          大于                   10 -gt 10                false
    -ge          大于                   10 -ge 10                true
                 或等于
    -lt          小于                   10 -lt 10                false
    -le          小于或等于             10 -le 10                true
    -like        通配符比较             "one" -like "o*"         true
    -notlike     通配符比较             "one" -notlike "o*"      false
    -match       正则表达式             "book" -match "[iou]"    true
                 比较
    -notmatch    正则表达式             "book" -notmatch "[iou]" false
                 比较

    以上列出的比较运算符不区分大小写。换句话说,“abc”与“ABC”是相同的。但是,
    可以通过在运算符名称前加字母 c 来指定比较区分大小写,例如 -ceq。在使用
    c 后,比较运算将区分要进行比较的字母的大小写。也可通过在运算符前加字母
    i 来指定运算符不区分大小写,例如 -ieq。这与不指定 c 或 i 同效。但您还是
    有可能希望使用 i 来表明在进行比较运算时不区分大小写。

    若要使用比较运算符,则必须指定要进行比较的值,以及分隔这些值的运算符。例
    如,以下命令显示了 if 语句中使用的 -gt 比较运算符:

        if ($varA -gt $varB)
        {
            Write-Host "Condition evaluates to true."
        }
        else
        {
            Write-Host "Condition evaluates to false."
        }

    此示例中使用 -gt 运算符来确定 $varA 中的值是否大于 $varB 中的值。如果
    此条件的计算结果为 True,则运行第一个代码块。如果此条件的计算结果为
    False,则运行第二个代码块。

    也可以在上述示例的语句中使用除 -gt 运算符以外的运算符之一。例如,可以使
    用 -le 运算符来测试 $varA 是否小于或等于 $varB。同样,如果此条件的计算
    结果为 True,则运行第一个代码块,否则运行第二个代码块。

    除了基本的比较运算符外,PowerShell 还支持几种特殊的比较运算符,包括范围
    运算符、替换运算符和位运算符。

    范围运算符
    另一个非常有用的比较运算符是由两个句点 (..) 表示的范围运算符。范围运算
    符用于标识语句中可以使用的值的范围。若要使用范围运算符,则必须指定范围
    的开始值、该运算符以及此范围中最后的值。例如,以下语句将使用范围运算符
    来定义从 1 到 $varB 变量之间的范围:

        foreach($varA in 1..$varB)
        {
            Write-Host $varA
        }

    如果将 $varB 设置为 10,则该语句的范围将是从 1 到 10(包括 1 和 10)。这
    表示,该语句每循环一次(作为 foreach 循环的结果),都会将 1 到 10 这一范围
    中的一个值赋予 $varA。该值从 1 开始,每循环一次就递增 1。使用范围运算
    符,您只需标识出值范围而无需逐一键入每个值。

    替换运算符
    替换运算符用于使用指定的值来替换原值中部分或全部的值。例如,如果值为
    “book”,则可使用替换运算符将 b 替换为 C。替换运算符将 b 与值 (book) 进
    行比较以确定该值中是否包含 b。如果比较的结果为 True,则使用 C 替换 b,然
    后返回新的值。如果比较的结果为 False,则返回原值。

    PowerShell 支持三种形式的替换运算符:

    运算符      大小写            示例                        结果
    ---------- ----------------- --------------------------- -------
    -replace   不区分大小写       "book" -replace "B", "C"    Cook
    -ireplace  不区分大小写       "book" -ireplace "B", "C"   Cook
    -creplace  区分大小写         "book" -creplace "B", "C"   book

    如上述示例所示,-replace 运算符的使用方法与任何其他比较运算符基本相同,
    区别在于此运算符后需指定两个值。第一个值为要被替换掉的字符,而第二个值
    为要在原值中插入以替换原始字符的新字符。

    位运算符
    与替换比较运算符一样,位运算符不会返回值 True 或 False,而会返回从比较中
    得到的值。该比较本身基于构成要比较值的基本位。位是逐一比较的,而且,根据
    所使用的位运算符,这些比较的结果本身也是位的形式,这些位在返回时已转换为
    数值。

    例如,数字 10 的位结构是 00001010(基于 1 个字节),数字 3 的位结构是
    00000011。如果使用位运算符来比较 10 和 3,则将比较每个字节中的各个位。
    换句话说,将把数字 10 字节中的第一位与数字 3 字节中的第一位进行比较,然
    后再比较每个字节中的第二位,依此类推。这两个字节的比较将返回第三个字节,
    随后,返回的字节将转换为对应的数字值。比较运算返回的值就是这个数值。

    PowerShell 支持以下位运算符:

    运算符        说明                  示例                   结果
    ------------ --------------------- ---------------------- -------
    -band        位与                   10 -band 3             2
    -bor         位或                   10 -bor 3              11

    在使用 -band 对值进行比较时,只有在所比较的两个位均为 1 的情况下才能返
    回一位 (1)。而在使用 -bor 运算符时,只需一个位为 1 即可返回一位 (1)。

 

    类型运算符
    某些运算符可用于进行类型确定。这些运算符将根据类型是否相同而返回 True
    或 False。“-is”运算符允许在对象类型之间进行比较,如果类型相同则返回布尔
    值 True,如果不同则返回布尔值 False。“-isnot”运算符用于在对象类型之间
    进行比较,如果类型相同则返回布尔值 False,如果不同则返回布尔值 True。运
    算符的右侧必须表示为一种类型,或可转换为 Type。运算符的左侧的类型可通
    过调用对象 GetType() 方法确定。任何不带小数点的数字文本均采用最小的表
    示形式,以保持简洁。

 

    运算符       说明                   示例                   结果
    ------------ --------------------- ---------------------- -------
    -is          是指定的               $true -is [bool]       true
                 类型
    -is          是指定的               32 -is [int]           true
                 类型
    -is          是指定的               32 -is [double]        false
                 类型
    -isnot       不是                   $true -isnot [bool]    false
                 指定的类型 

版权声明:本文为博主原创文章,未经博主允许不得转载。

逻辑运算符 三目运算符

程序短路 || 从左开始计算,当遇到为真的
  • zx954886867
  • zx954886867
  • 2014年09月26日 21:28
  • 222

numpy中向量式三目运算符

如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选。不过,如果使用numpy中的向...
  • grey_csdn
  • grey_csdn
  • 2017年04月07日 23:57
  • 523

PowerShell介绍 第四回 比较符、逻辑符和运算符

本小章节来介绍PowerShell的“符号”那些事,主要是比较符、逻辑符和运算符。 1.比较符 常见的比较符如下表,其中-eq用的比较多。而且还有个特点就是比较符经常会和where-object在...
  • melodytu
  • melodytu
  • 2015年11月07日 16:20
  • 1122

PowerShell 学习(一):运算符

PowerShell 学习(一):运算符 一、算术运算符:运算符说明示例结果+将整数相加; 连接字符串、数组和哈希表。 连接哈希表时不能有相同的key1+1 "abc”+"def” "abc”+123...
  • hua_yang
  • hua_yang
  • 2010年08月11日 21:39
  • 464

numpy中向量式三目运算符

如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选。不过,如果使用numpy中的向...
  • grey_csdn
  • grey_csdn
  • 2017年04月07日 23:57
  • 523

Javascript比较运算符的应用

1、需求 应用比较运算符中的等于“==”、与“&&”和或“||”运算符来实现对〈Alt+←〉方向键和〈Alt+→〉方向键的屏蔽。 2、代码 script language="javascr...
  • chengqiuming
  • chengqiuming
  • 2017年04月12日 10:31
  • 94

Powershell的使用

由于最近项目需要使用windows脚本编程,发现普通批处理又不太好使,习惯了linux的命令行ls,cp等,总觉得windows的命令行太难玩,可编程性还不如linux的shell(本来linux s...
  • evil_119
  • evil_119
  • 2016年08月04日 19:00
  • 858

Powershell 邮件发送

目录目录 前言 Send-MailMessage NETMail 使用OutLook发送邮件前言最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式。 如果P...
  • Jmilk
  • Jmilk
  • 2016年02月14日 01:12
  • 2316

numpy中的where方法嵌套使用

如同for循环一样,numpy中的where方法可以实现嵌套功能。这是简化嵌套式矩阵逻辑的一个很好的方法。        假设有一个矩阵,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的时...
  • grey_csdn
  • grey_csdn
  • 2017年04月09日 11:16
  • 688

Sqllite 比较运算符 != 和 逻辑运算符 is not 的区别

当数据库字段默认为 varchar 类型 默认字段 为null 的时候 查询条件应该使用 is not (逻辑运算符) 否则 !=  (比较运算符)  查询出来的数据 为 null...
  • yanggz888
  • yanggz888
  • 2015年07月27日 12:00
  • 299
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerShell:运算符
举报原因:
原因补充:

(最多只允许输入30个字)