当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 过滤器 |不同类型的 PowerShell 筛选器指南

作者:精品下载站 日期:2024-12-14 04:51:46 浏览:13 分类:玩电脑

PowerShell 过滤器 |不同类型的 PowerShell 筛选器指南


[玩转系统] PowerShell 过滤器 |不同类型的 PowerShell 筛选器指南

PowerShell 中的过滤简介

过滤是指根据某些条件限制 cmdlet 或语句的输出的过程。这有助于优化结果,并且用户将能够从丰富的结果中看到他想要的内容。这是在 PowerShell 中借助Where-object cmdlet 实现的。其中对象将选择集合中符合条件的对象。 where 对象可以通过两种方式使用,即使用脚本块或使用条件语句。本文将详细介绍 PowerShell 中可用的各种过滤器。

句法

以下是条件所在脚本块的语法

Where-Object[-InputObject <PSObject>][-FilterScript] <ScriptBlock>[<CommonParameters>]

Get-Process | Where-Object {$_.Id -eq 5940}

以下是条件运算符的语法:

Where-Object[-InputObject <PSObject>][-Property] <String>[[-Value] <Object>][-Comparison Operator][<CommonParameters>]

Get-Process | Where-Object ID -eq 5940

要获取 cmdlet 可用的属性列表,可以将 Format-List cmdlet 通过管道传输到相应的 cmdlet 以列出可用属性。

要从集合中仅选择少数对象,可以使用 Select-Object cmdlet。

Get-Process | Select-Object -First 5

上述 cmdlet 将仅显示前五个进程。

不同类型的过滤器

不同类型及其用途:

包含

证明如果问题的属性值内的任何内容是所需值的精确坐标,则这会获取对象。如果属性值包含单个问题,PowerShell 会将其更改为一个对象的集合。此参数在 Windows PowerShell 3.0 中提供。数据类型是开关参数。 None 是默认值。它由别名 It Contains 引用。不接受管道输入,也不允许使用通配符。

方程

这将从集合中返回属性值与给定值相同的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 IEQ 引用。不接受管道输入,也不允许使用通配符。

FilterScript

这表示应该用于过滤的脚本块。脚本块包含在 ({}) 内。不接受管道输入,也不允许使用通配符。

通用电气

这将从集合中返回属性值大于或等于给定值的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 IGE 引用。不接受管道输入,也不允许使用通配符。

GT

这将从集合中返回属性值大于给定值的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 IGT 引用。不接受管道输入,也不允许使用通配符。

这将返回其值为指定值之一的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 IIn 引用。不接受管道输入,也不允许使用通配符。

这将返回数据类型与提到的值相同的对象。参数的数据类型是开关参数。 None 是默认值。不接受管道输入,也不允许使用通配符。

IsNot

这与 Is 相反。这将返回与指定类型不匹配的对象。参数的数据类型是开关参数。 None 是默认值。 不接受管道输入,也不允许使用通配符。

LE

这将从集合中返回属性值小于或等于给定值的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 ILE 引用。不接受管道输入,也不允许使用通配符。

LT

这将从集合中返回属性值小于给定值的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 ILT 引用。不接受管道输入,也不允许使用通配符。

喜欢

这将返回满足通配符条件的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 Ilike 引用。不接受管道输入,也不允许使用通配符。

匹配

这将返回满足正则表达式的对象。参数的数据类型是开关参数。 None 是默认值。 它由别名 IMatch 引用。不接受管道输入,也不允许使用通配符。

实施 PowerShell 过滤器的示例

下面是提到的例子:

例子#1

代码:

Write-Host "Welcome to filtering example"
Write-Host "Demo of contains example"
$names = 'vignesh','nandhini','vyapini','vijay','sethu'
$names -contains 'vignesh'
Write-Host "Match is found"
$age=19
Write-Host "Demo of eq operator"
$ee= Read-Host "Enter age"
if($ee -eq $age)
{
Write-Host "age matches"
}
else
{
Write-Host "doesnt match"
}
Write-Host "greater than or greater than equal to example"
$ee= Read-Host "enter a number"
if(($ee -ge 100) -and ($ee -le 200))
{
Write-Host "entered no is greater than or equal to 100 and less than or equal to 200"
}
elseif(($ee -gt 200) -and ($ee -lt 300))
{
Write-Host "entered no is greater than 200 and less than 300"
}
else
{
Write-Host "entered no is greater than 300"
}
Write-Host "example of in"
$val= "aa","bb","cc"
Write-Host "enter a value"
$tt= Read-Host "enter a value"
if($tt -in $val)
{
Write-Host "value in matched"
}
else
{
Write-Host "no match"
}

输出:

[玩转系统] PowerShell 过滤器 |不同类型的 PowerShell 筛选器指南

结论

因此,本文详细介绍了 PowerShell 中的过滤操作。它涵盖了可用于过滤的各种运算符的适当示例。要了解更多详细信息,建议编写示例脚本并进行练习。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯