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

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在数组中查找元素,小编就介绍这么多,希望对大家有所帮助。

时间: 2024-10-30 01:56:01

PowerShell查找数组内容、搜索数组、查询数组的方法_PowerShell的相关文章

phpcms v9 内容搜索不完全显示解决方法

这个bug原来是这个程序在开发的时候没有考虑周全.在升级后把原来的搜索功能原有的搜索分词进行了整合和改动导致的.所以当我们使用搜索功能的时候有的就搜不到或者搜索不全.这样就不能从数据库中调出在前台显示出来了. 解决的办法如下: 首先连接 FTP到空间,进入到phpcms/modules/search/index.php文件. 找到以下代码: if (!empty($segment_q)) {    $sql = "`siteid`= '$siteid' AND `typeid` = '$type

探索PowerShell(十四) 使用WMI对象的方法_PowerShell

上一篇文章中介绍了WMI的基础内容,主要讲了WMI的属性值的查看,文中还提到,WMI不仅具有属性,还具有方法.这一节就来具体讲一下如何调用WMI对象方法. 通过查看WMI对象,可以发现有不少的类同时具有属性和方法.例如类"Win32_NetworkAdapterConfiguration",j就具有不少的方法和属性,可以使用以下命令查询: Get-WmiObject Win32_NetworkAdapterConfiguration | Get-Member -MemberType M

PowerShell中直接输出转义字符或变量名称的方法_PowerShell

本文介绍在PowerShell的字符串中,如何禁止字符串中某分字符被转义或部分字符被当作变量,即让字符串中所有的字符都原样输出. 在PowerShell中,转义字符是以字符(·)开头的一部分特殊字符,可以用于实现换行.TAB等功能.而变量则是以符号($)开头,代表一个值.之前的文章中我们介绍过转义字符,也介绍过在字符串中包含变量.有兴趣的朋友可以去了解一下. 在PowerShell中可以用一对双引号引起一个字符串,也可以使用一对单引号引起一个字符串.而用单引号与双引号最大的一个区别是,双引号引起

PowerShell中以管理员权限启动应用程序的方法_PowerShell

又一个PowerShell比CMD好的地方.在CMD中用管理员权限来启动应用程序很复杂,但在PowerShell中就简单多了,如下: 复制代码 代码如下: Start-Process notepad -Verb runas Start-Process "$PSHOME\powershell.exe" -Verb runas

PowerShell获取Windows用户列表、用户信息的方法_PowerShell

WMI是Windows管理规范的缩写,其中包含很多系统的软硬件信息.而Windows用户信息也可以通过WMI对象来获取.PowerShell提供了对WMI的访问功能,十分方便且强大--这就是Get-WmiObject这个cmdlet. 获取所有的Windows用户列表: Get-WmiObject -Class Win32_UserAccount 或者 Get-WmiObject 复制代码 代码如下: Win32_UserAccount 如果是想知道查看当前登录的用户的信息,可以用如下语句: 复

PowerShell中把IP转换为长整形数字的方法_PowerShell

IPv4的地址其实可以换成为一个长整形的数字,使用数字类型来表示IP地址时,可以非常方便的进行地址范围的匹配比较.在.NET开发环境中一个IPAddress类,它的Address属性就是十进制的数字,而IPAddressToString属性是我们熟悉的点分十进制的字符串形式. 下面两个过滤器,分别处理"点分十进制"字符串到数字的转换和数字到"点分十进制"的转换. 复制代码 代码如下: //"点分十进制"字符串到数字的转换 filter Conve

动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

 1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_   #include<stdio.h> #include<stdlib.h>   /************************************************************************/ /*数组的结构体类型                                                    */ /***************

php中数组的搜索程序代码

例  代码如下 复制代码 <?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people))   {   echo "Match found";   } else   {   echo "Match not found";   } ?> 输出

php中搜索多维数组的键值程序

如下面例子:  代码如下 复制代码 $foo[1]['a']['xx'] = 'bar 1'; $foo[1]['b']['xx'] = 'bar 2'; $foo[2]['a']['bb'] = 'bar 3'; $foo[2]['a']['yy'] = 'bar 4'; $foo[3]['c']['dd'] = 'bar 3'; $foo[3]['f']['gg'] = 'bar 3'; $foo['info'][1] = 'bar 5'; 如果要查找 bar 3 怎么进行查找呢.有三个结果