Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
筛选器关键字在PowerShell中的作用是什么?_Powershell - Fatal编程技术网

筛选器关键字在PowerShell中的作用是什么?

筛选器关键字在PowerShell中的作用是什么?,powershell,Powershell,我使用filter命令运行了一些Powershell代码。我从未见过这个命令,但它基本上是这样工作的: 它似乎是一个函数。如果我运行Get Command filterI Get back则术语“filter”不会被识别为cmdlet、函数、脚本文件或可操作程序的名称。和Get Alias filter也会返回类似的消息Get Help filter只返回带有单词filter的cmdlet和函数。如果我在谷歌上搜索“Powershell filter command”,我会得到一大堆关于各种命

我使用
filter
命令运行了一些Powershell代码。我从未见过这个命令,但它基本上是这样工作的:

它似乎是一个函数。如果我运行
Get Command filter
I Get back
则术语“filter”不会被识别为cmdlet、函数、脚本文件或可操作程序的名称。
Get Alias filter
也会返回类似的消息
Get Help filter
只返回带有单词filter的cmdlet和函数。如果我在谷歌上搜索“Powershell filter command”,我会得到一大堆关于各种命令的信息,这些命令包含
-filter
参数和
Where Object
语法


这个命令是什么?它的用途是什么?在什么地方有文件记录吗?谢谢

简而言之,过滤器是一种高级功能,只能使用进程块。基于此,中的可用于操纵(过滤、修改…)管道对象。它们还允许你使用e。G通过一个模块提供预定义的过滤功能,为您节省了编写复杂的
Where Objects
script块100次的工作。 它还使您能够结束管道处理。如果管道对象满足某些条件,您只需在过滤器内使用
break
关键字

过滤器

过滤器是一种在管道中的每个对象上运行的函数类型。过滤器类似于一个函数,其所有语句都在一个进程块中。 以下筛选器从管道中获取日志条目,然后显示整个条目或仅显示条目的消息部分:

这很好地解释了如何包含一些示例


希望有帮助

我想从它的名字来看,它是打算在管道中使用的。我看它用得不多

PS C:\users\js> Filter plusone { $_ + 1 }
PS C:\users\js> Echo 1 | plusone
2

PS C:\users\js> Filter comma { '{0:n0}' -f $_ }
PS C:\users\js> 1234567890 | comma
1,234,567,890

ServerFault上有一篇文章介绍了这一点。本质上,过滤器是一个只包含一个进程脚本块的函数。这是什么提示?@js2010 Powershell(是的,我知道我用闪电作为提示,我很奇怪)⚡⚡是的,这正是我想要的。只是看到了语法,却从来没有看到过,谷歌也帮不了什么忙。当我看到一些我不知道的东西时,我就喜欢学习。。
PS C:\users\js> Filter plusone { $_ + 1 }
PS C:\users\js> Echo 1 | plusone
2

PS C:\users\js> Filter comma { '{0:n0}' -f $_ }
PS C:\users\js> 1234567890 | comma
1,234,567,890