迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

PowerShell 中的逻辑运算符

作者:迹忆客 最近更新:2024/02/29 浏览次数:

逻辑运算符可以将各种条件转换为单个条件。

本文将讨论真实世界的示例,并使用 PowerShell 在脚本中应用逻辑运算符。


PowerShell 逻辑运算符

逻辑运算符有 andorxornot!


PowerShell 中的 -and 运算符

如果 $a$btrue,则输出为 true;否则,false

真值表:

A B 输出
0 0 0
1 0 0
0 1 0
1 1 1
$a = 0
$b = 0
$a -and $b # false (if both variables are false)

$a = 1
$b = 0
$a -and $b  # false (if any of the variables are false)

$a = 1
$b = 1
$a -and $b # true (if both variables are true)

-and 运算符仅在两者都为真时才返回 true。一般来说,-and 运算符用于我们希望检查和满足所有条件的地方。

这是需要满足的两个条件的示例。

$attendance = 102
$paid = "Y"
if($attendance -gt 100 -and $paid -eq "Y"){
    Write-Output "Allow for examination."
}

输出:

Allow for examination.

PowerShell 中的 -or 运算符

-and 运算符相比,如果 $a$bfalse,则输出为 false

-or 运算符只需要一个变量为 true 即可输出 true

真值表:

A B 输出
0 0 0
1 0 1
0 1 1
1 1 1
$a = 0
$b= 0
$a -or $b # false (if both conditions are false)

$a = 1
$b = 0
$a -or $b # true (if any of the variables are true)

$a = 1
$b = 1
$a -or $b  # true (if both of the variables are true)

-or 运算符仅在两个条件都为 false 时才返回 false。通常,当将任何条件视为 true 时,会使用 -or 运算符。

$attendance = 99
$marks = 201
if($attendance -gt 100 -or $marks -gt 200){
    Write-Output "Give five extra marks."
}

输出:

Give five extra marks.

PowerShell 中的 -xor 运算符

如果 $a$b 中只有一个是 true,则异或 or-xortrue 的结果。如果两个条件都是 true-xor 会产生 false 的结果。

真值表:

A B 输出
0 0 0
1 0 1
0 1 1
1 1 0
('a' -eq 'A') -xor ('a' -eq 'z') # true as one of them is true
('a' -eq 'A') -xor ('Z' -eq 'z') # false as both of them is true
('a' -eq 's') -xor ('Z' -eq 'p') # false as both of them are false

PowerShell 中的 -not 运算符

-not 运算符返回与表达式输出相反的结果。如果表达式的输出为 true,则运算符将其返回为 false,反之亦然。

-not ('a' -eq 'a') # false as the output of expression is true
-not ('v' -eq 'a') # true as output expression is false
-not ('v' -eq 'V') # false as output expression is true
-not ('V' -eq 'V1') # true as output expression is false

感叹号!-not 运算符相同。

!('a' -eq 'a')  # false as the output of expression is true
!('v' -eq 'a') # true as output expression is false
!('v' -eq 'V') # false as output expression is true
!('V' -eq 'V1') # true as output expression is false

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

PowerShell 中的布尔值

发布时间:2024/02/29 浏览次数:87 分类:编程语言

本文将解释什么是布尔值,以及我们如何在 Windows PowerShell 环境中使用它们。

PowerShell 中的返回值

发布时间:2024/02/29 浏览次数:96 分类:编程语言

本文介绍了 return value 关键字的用途、return 关键字的工作原理以及如何在 Windows PowerShell 中正确使用它们。

PowerShell 中的递增和递减

发布时间:2024/02/29 浏览次数:60 分类:编程语言

本文将讨论我们应该了解的有关增量和减量以及何时在 PowerShell 中使用预增量和后增量(或减量)的所有信息。

在 PowerShell 中管理服务

发布时间:2024/02/08 浏览次数:132 分类:编程语言

本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便