首页 > 系统相关 >powershell中的比较运算符

powershell中的比较运算符

时间:2024-01-19 20:32:16浏览次数:30  
标签:示例 Saturday powershell 运算符 复制 Numbers 比较 PowerShell

操作

定义

-eq

等于

-ne

不等于

-gt

大于

-ge

大于或等于

-lt

小于

-le

小于或等于

-Like

使用 * 通配符进行匹配

-NotLike

不使用 * 通配符进行匹配

-Match

匹配指定的正则表达式

-NotMatch

不匹配指定的正则表达式

-Contains

确定集合中是否包含指定的值

-NotContains

确定集合是否不包含特定值

-In

确定指定的值是否在集合中

-NotIn

确定指定的值是否不在集合中

-Replace

替换指定的值


表 5-1 中列出的所有运算符都不区分大小写。 将 c 放置在表 5-1 中列出的运算符之前,使其区分大小写。 例如,-ceq 是区分大小写的 -eq 比较运算符。

首字母大写的“PowerShell”等效于使用等于比较运算符的小写的“powershell”。

PowerShell复制

'PowerShell' -eq 'powershell'

Output复制

True

使用区分大小写的等于比较运算符时,不等效。

PowerShell复制

'PowerShell' -ceq 'powershell'

Output复制

False

不等于比较运算符反转条件。

PowerShell复制

'PowerShell' -ne 'powershell'

Output复制

False

大于、大于或等于、小于和小于或等于均可用于字符串或数值。

PowerShell复制

5 -gt 5

Output复制

False

在上一个示例中,使用大于或等于而不是大于,会返回布尔值 true,因为 5 等于 5。

PowerShell复制

5 -ge 5

Output复制

True

根据上述两个示例中的结果,你可能会猜到使用小于和小于或等于的情况。

PowerShell复制

5 -lt 10

Output复制

True

即使对于经验丰富的 PowerShell 用户,-Like 和 -Match 运算符也可能会造成混淆。 -Like 与通配符 * 和 ? 结合使用,以执行“like”匹配。

PowerShell复制

'PowerShell' -like '*shell'

Output复制

True

-Match 使用正则表达式执行匹配。

PowerShell复制

'PowerShell' -match '^*.shell$'

Output复制

True

使用范围运算符将数字 1 到 10 存储在变量中。

PowerShell复制

$Numbers = 1..10

Output复制

确定 $Numbers 变量是否包含 15。

PowerShell复制

$Numbers -contains 15

Output复制

False

确定它是否包含数字 10。

PowerShell复制

$Numbers -contains 10

Output复制

True

-NotContains 反转逻辑,以查看 $Numbers 变量是否不包含值。

PowerShell复制

$Numbers -notcontains 15

Output复制

True

前面的示例返回布尔值 true,因为 $Numbers 变量不包含 15。 但它包含数字 10,因此在进行测试时,结果为 false。

PowerShell复制

$Numbers -notcontains 10

Output复制

False

PowerShell 版本 3.0 首次引入了“in”比较运算符。 它用于确定某个值是否“位于”数组中。 $Numbers 变量是数组,因为它包含多个值。

PowerShell复制

15 -in $Numbers

Output复制

False

换言之,-in 执行与 contains 比较运算符相同的测试,不过方向相反。

PowerShell复制

10 -in $Numbers

Output复制

True

15 不在 $Numbers 数组中,因此在下面的示例中返回 false。

PowerShell复制

15 -in $Numbers

Output复制

False

与 -contains 运算符一样,not 反转 -in 运算符的逻辑。

PowerShell复制

10 -notin $Numbers

Output复制

False

上面的示例返回 false,因为 $Numbers 数组包含 10,并且条件进行了测试以确定它是否不包含 10。

15“不位于”$Numbers 数组中,因此它返回布尔值 true。

PowerShell复制

15 -notin $Numbers

Output复制

True

-replace 运算符所执行的操作和你想象的一样。 它用于替换内容。 如果指定一个值,则会将该值替换为空值。 在下面的示例中,我将“Shell”替换为空值。

PowerShell复制

'PowerShell' -replace 'Shell'

Output复制

Power

如果要将值替换为其他值,请在要替换的模式之后指定新值。 SQL Saturday in Baton Rouge is an event that I try to speak at every year. 在下面的示例中,我将“Saturday”这个词替换为缩写“Sat”。

PowerShell复制

'SQL Saturday - Baton Rouge' -Replace 'saturday','Sat'

Output复制

SQL Sat - Baton Rouge

还有一些可用于替换内容的方法(如 Replace()),其工作原理类似于替换运算符。 但是,默认情况下,-Replace 运算符不区分大小写,而 Replace() 方法区分大小写。

PowerShell复制

'SQL Saturday - Baton Rouge'.Replace('saturday','Sat')

Output复制

SQL Saturday - Baton Rouge

请注意,上述示例中未替换“Saturday”一词。 这是因为所指定的大小写格式与原始格式不同。 当指定的“Saturday”的大小写格式与原始格式相同时,Replace() 方法会按预期替换它。

PowerShell复制

'SQL Saturday - Baton Rouge'.Replace('Saturday','Sat')

Output复制

SQL Sat - Baton Rouge

使用方法转换数据时要小心,因为可能会遇到无法预料的问题,例如 Turkey Test 失败。 有关示例,请参阅标题为使用 Pester 测试具有其他区域性的 PowerShell 代码的博客文章。 我建议尽量使用运算符而不是方法,以避免这些类型的问题。

尽管可以像前面的示例中所示使用比较运算符,但我通常将它们与 Where-Object cmdlet 一起使用来执行某种类型的筛选。


标签:示例,Saturday,powershell,运算符,复制,Numbers,比较,PowerShell
From: https://blog.51cto.com/sonic2825/9336288

相关文章

  • (10)Powershell赋值运算符(一)
    (10)Powershell赋值运算符(一)上一节介绍了Powershell中的内置变量,细节使劲戳jiaerkuaier。本节介绍Powershell中的赋值运算符,赋值运算符可向一个变量赋予一个或多个值。赋值运算符可以在赋值之前对值执行数值运算。Powershell支持以下赋值运算符。运算符说明备注......
  • (8)Powershell中变量的定义和使用
    (8)Powershell中变量的定义和使用这一节主要介绍Powershell中变量的定义和使用,以及使用变量时应该注意的事项。和所有编程语言中的变量一样,Powershell中的变量也是存于存储值的内存单元,需要注意的是,Powershell中的变量是以美元符号($)开头的单字节(一般是英文字符,虽然ISE中支持......
  • (0)powershell常用命令
    (0)powershell常用命令1.PowerShell判断数组里面是否包含指定字符串元素判断数组是否包含指定元素PSC:\WINDOWS\system32>$arrColors="blue","red","green","yellow","white","pink","orange","turquoise"......
  • Python_python读写图片以及对应的库比较
    图片读写通过numpy来做数据计算的沟通JPEG是一种有损格式, 图像PNG,是一种无损格式cv2.imdecode()作用是将图像数据从存储格式中解析出来并转化为OpenCV中的图像格式 imdecode得到的影像波段顺序是RGBnp.fromfile将文本或二进制文件中数据构造成数组 cv2.imencod......
  • (7)Powershell算术运算符
    (7)Powershell算术运算符本系列博客从这一节开始是Powershell的语法知识,在开始学习语法之前,希望你对Powershell有个基本的了解,比如开发工具的使用,面向对象等特性,详细内容使劲戳这里(1)-(6)的内容。本节主要介绍Powershell中的算术运算符。Powershell支持以下算术运算符......
  • 【OC】一份理解引用计数、runloop、子线程保活比较好的调试代码
    以下提供了一份ViewController.m的源代码,调试工程可以做成:AppDelegate.rootViewController=NavivationController(rootController:rootVC)然后再rootVC中点击屏幕,self.navigationControllerpush:viewController,然后就可以调试代码进行理解。#import"ViewController.h"......
  • (6)Powershell中命令自动补全功能及使用Windows命令
    (6)Powershell中命令自动补全功能及使用Windows命令上一节主要介绍了Powershell中常见的别名,以及怎么通过别名查看真实的Powershell命令,Powershell别名的命名规范以及如何新建自己的别名(Powershell内置别名不可更改)以及Powershell中兼容性别名,详细内容怼介里。在本节主要包含......
  • (5)Powershell别名(Alias)
    (5)Powershell别名(Alias)在上一节,介绍了如何检索当前shell及Powershell中所有可用的命令,对于指定的命令会查看其语法信息,可以获取指定命令的帮助信息,包括获取在线帮助主题,详细内容时间戳这嘎达。在本节中,主要介绍Powershell的别名,主要包含以下内容。熟悉常见的别名。标......
  • (4)Powershell基础知识(二)
    (4)Powershell基础知识(二)上一节主要介绍Powershell可发现,面向对象,一致性等特性,以及Powershell命令是基于.Net对象等重要概念,以及Powershell命令的命名规范,详细内容点击这嘎达。这一节的Powershell基础知识主要包含以下知识点获取命令的摘要信息。获取命令的帮助信息。......
  • 页面交互逻辑比较
    写这篇是为了记录下:能达到相同效果的两种不同的页面交互逻辑。场景侧边栏菜单分为两部分,一部分是固定,一部分是动态。如下图所示:不同的项目,动态菜单的数量和内容不一样。处于项目A时,若处于动态菜单页面(比如Piping),点击顶部下拉框切换到项目B),那么:之前打开的项目A的Pipin......