[玩转系统] 通过示例学习 PowerShell 不等于运算符
作者:精品下载站 日期:2024-12-14 13:11:05 浏览:13 分类:玩电脑
通过示例学习 PowerShell 不等于运算符
除了作为命令行工具之外,PowerShell 还是 Microsoft 的一种编程语言,可让您控制和自动化系统。 PowerShell 使用与大多数编程语言不同的运算符语法。
但是,一旦您了解了PowerShell运算符语法,您就会发现它并不难使用。在 PowerShell 中最常用的运算符之一是不等于运算符 (-ne
)。该运算符允许您测试两个值是否彼此不相等。
在本文中,您将通过示例了解 PowerShell 不等于运算符以及如何使用它。
先决条件
本教程将是一个实践演示。如果您想继续操作,请确保您的系统安装了 PowerShell。本教程使用 Windows 10 和 PowerShell 7。
使用 PowerShell 不等于运算符(基础)
简而言之,PowerShell 不等于运算符 (-ne
) 确定两个对象的值是否不相等,并根据结果返回一个布尔值。如果值不相等,则结果为 True;否则,结果为False
。
但是如何以及何时使用 PowerShell 不等于运算符呢?接下来的部分将教您 PowerShell 不等于基础知识。
比较变量
PowerShell 不等于运算符最常见的用途之一是比较两个变量。例如,假设您有两个变量 $a
和 $b
,并且您想查看它们是否相等。比较语法如下:
$a -ne $b
如果 $a
和 $b
的值不相等,则此比较将返回 True
。否则,将返回 False。
1. 在 PowerShell 控制台中运行以下命令来创建将用作示例的变量。 $a、$b、$c 和 $d 变量代表不同的值。您可以比较每个值以测试它们是否相等。
您为 $c 和 $d 分配相同的值,以查看 PowerShell 不等于运算符如何处理相等的值。
$a = 1
$b = 2
$c = 3
$d = 3
2. 现在,执行 PowerShell 不等于比较以查看 $a 和 $b 的值是否不相等。
$a -ne $b
结果返回 True,因为 $a 的值为 1,$b 的值为 2,两者不相等。
3. 现在比较 $c 和 $d 变量,看看它们是否也不相等。
$c -ne $d
您将看到 False 输出返回,如下图所示,因为 $c 和 $d 的值相等 (3=3)。
比较值
使用 PowerShell 时,并非所有要比较的对象都在变量中。在这种情况下,您可以直接使用 PowerShell 不等于运算符来比较值。
例如,以下命令使用 PowerShell 不等于运算符直接比较两个值。
5 -ne 3
您将看到返回 True 值,如下所示,因为值不相等。
另一方面,比较相等的值将返回False
。
5 -ne 5
从数组中删除一个值
PowerShell Not Equal 运算符返回一个布尔结果来指示两个值是否不相等。除了该函数之外,该运算符还可以过滤掉数组中的项目。
例如,创建一个名为 $numbers
的变量,其中包含数字 1 到 5 的数组。
# Create an array containing numbers 1 through 5.
$numbers = 1..5
# Display the array
$numbers
接下来,运行以下命令以返回除一个数字 (4
) 之外的数组。
$numbers -ne 4
现在您可以看到该命令返回了数组中除数字 4 之外的所有数字。
比较字符串
除了数字之外,您还可以对字符串应用 PowerShell 不等于比较。
1. 例如,假设您有两个字符串“Hello”和“World”。要确定两个字符串是否不相等,请运行以下命令。
"Hello" -ne "World"
结果为 True,因为“Hello”不等于“World”。
2. 现在比较字符串“Hello”和“hello”,看看它们是否相等。
"Hello" -ne "hello"
然后您会看到结果为 False,因为“Hello”等于“hello”。
3. PowerShell 不等于运算符不区分大小写。正如您在上一步中看到的,“Hello”等于“hello”。但如果在比较字符串值时需要区分大小写,请将 -ne 运算符替换为 -cne 运算符,这意味着区分大小写不等于。
"Hello" -cne "hello"
因此,根据 PowerShell,“Hello”和“hello”不再相等。
在现实世界中使用 PowerShell 不等于运算符(示例)
现在您已经了解了 PowerShell 不等于运算符的基本概念,下面的部分将让您体验它的一些实际用途。
监控服务状态
Windows 系统管理的主要内容是监视服务器服务状态。此任务涉及筛选出状态未运行
的服务。
例如,运行 Get-Service
cmdlet 以显示本地计算机上的所有服务。
Get-Service
您可以在下面的输出中看到所有已停止和正在运行的服务。
现在,要仅过滤那些未运行的服务,请运行以下命令,并应用 -ne
运算符,如下所示。
Get-Service | Where-Object {$_.Status -ne "Running"}
如下所示,应用 PowerShell 不等于比较后,状态列仅显示已停止的服务。
同样,运行以下命令返回状态未停止
的服务。
Get-Service | Where-Object {$_.Status -ne "Stopped"}
这次,您只能看到正在运行的服务。
将 PowerShell 不等于与 AND
运算符组合
除了进行 1:1 比较之外,您还可以使用 -and
运算符将 PowerShell 不等于条件与另一个比较运算符(例如 -eq
(等于))结合起来。当您要比较的对象必须满足多个条件时,此方法非常有用。
例如,监视服务器服务通常涉及确保所有自动服务必须正在运行。运行以下命令列出状态为未运行
且StartType为自动
的所有服务。在此示例中,对象值必须匹配所有条件。
Get-Service |
Where-Object {$_.Status -ne "Running" -and $_.StartType -eq "Automatic"} |
Select-Object Status,StartType,Name
现在您可以看到未运行的自动服务,这可以帮助您决定必须采取哪些操作。
添加 If/Else 条件逻辑
您还可以在条件语句(例如 if/else 语句)内使用 PowerShell 不等于运算符。
例如,如果服务的 StartType 值为“自动”,则在大多数情况下该服务必须正在运行。下面的脚本获取所有服务,检查哪些自动服务未运行,并执行纠正操作 - 显示消息并启动服务。
注意:Start-Service $_.Name 行被注释掉并且不会运行。如果要执行该命令,请取消注释此行。
复制以下代码并在 PowerShell 中运行它。
Get-Service -ErrorAction SilentlyContinue | ForEach-Object {
if ($_.Status -ne 'Running' -and $_.StartType -eq 'Automatic') {
"The service [$($_.Name)] StartType is [$($_.StartType)] but its current Status is [$($_.Status)]"
# Start-Service $_.Name
}
}
结果显示哪些自动服务未运行。
结论
在本文中,您了解了 PowerShell 不等于运算符。您还通过示例学习了如何使用它。此时,您应该很好地理解它是如何工作的。
有了这些新发现的知识,您现在可以在 PowerShell 脚本中使用不等于运算符来测试条件。但是,请记住,还可以使用其他比较运算符。您可能想要组合多个运算符来测试更复杂的条件。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag