脚本专栏 
首页 > 脚本专栏 > 浏览文章

PowerShell查找数组内容、搜索数组、查询数组的方法

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

PowerShell中有-contain、-like、-in等操作符,使用这些操作符,可以很方便的在数组中查找元素内容。其中in操作符貌似要在PowerShell 3.0中才有。

先看一个例子,将Windows目录的所有文件的文件名放入到数组$name中,然后在数组$name中查找exploer.exe元素。且看-contains的魅力!
复制代码 代码如下:
PS> $names = Get-ChildItem -Path $env:windir | Select-Object -ExpandProperty Name
PS> $names -contains 'explorer.exe'
True

-contains操作符确实很强大,但是很遗憾,它不能在指定字符串中包含通配符。如果想使用通配符进行查找数组元素,则可以使用-like操作符。
复制代码 代码如下:
PS> $names -contains 'explorer*'
False

上面的例子说明了-contains不能使用通配符,下面我们来使用-like看看。
复制代码 代码如下:
PS> $names -like 'explorer*'
explorer.exe

文章一开头小编还说了,可以使用-in操作符来来作类似的处理,而且in操作符还可以将数组和要匹配的字符串反过来。什么意思呢?且看下面几个例子。
复制代码 代码如下:
PS> 'Peter', 'Mary', 'Martin' -contains 'Mary'
True
PS> 'Peter', 'Mary', 'Martin' -contains 'Ma*'
False
PS> 'Mary' -in 'Peter', 'Mary', 'Martin'
True
PS> 'Peter', 'Mary', 'Martin' -like 'Ma*'
Mary
Martin
PS> @('Peter', 'Mary', 'Martin' -like 'Ma*').Count -gt 0

以上几个例子的含义,大家自行理解。关于使用PowerShell在数组中查找元素,小编就介绍这么多,希望对大家有所帮助。

上一篇:PowerShell一次打开多个文件的方法
下一篇:PowerShell数组操作简明教程
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。