Powershell 文件系统提供程序过滤器语法是什么?

Powershell 文件系统提供程序过滤器语法是什么?,powershell,filter,powershell-4.0,Powershell,Filter,Powershell 4.0,Get-Help-Get-ChildItem显示-Filter参数,显示文字为“”。这种语言不同于Powershell所称的“提供者”,文件系统被声明为其中之一。但我还没有找到关于文件系统提供程序的过滤器语法的任何语法描述。有什么帮助吗?文件系统提供程序支持的过滤器语法文档很少(如果有),可能是因为没什么好说的 简而言之,它只支持简单的通配符匹配,正如您在Windows XP时代的搜索中所知道的: 任何具有扩展名的文件: *.* *.txt 任何扩展名为.txt的文件: *.* *.txt

Get-Help-Get-ChildItem
显示
-Filter
参数,显示文字为“”。这种语言不同于Powershell所称的“提供者”,文件系统被声明为其中之一。但我还没有找到关于文件系统提供程序的过滤器语法的任何语法描述。有什么帮助吗?

文件系统提供程序支持的过滤器语法文档很少(如果有),可能是因为没什么好说的

简而言之,它只支持简单的通配符匹配,正如您在Windows XP时代的搜索中所知道的:

任何具有扩展名的文件:

*.*
*.txt
任何扩展名为
.txt
的文件:

*.*
*.txt
部分通配符匹配:

*something*.txt
单字符匹配(匹配
myfile1.jpg
但不匹配
myfile01.jpg
):

简单字符集(与
啤酒
匹配):

简单字符范围(匹配
filea.txt
fileb.txt
filec.txt
):


注意:每个筛选器只支持一个表达式,因此这是非法的:

*.jpg|*.txt

显然我很愚蠢,我注意到
[-Filter]
是一个可选的基于位置的参数,我习惯于
dir*.txt
,其中
*.txt
实际上不是路径而是过滤器。因此,在获取
FileInfo
对象集之前,除了名称之外,几乎没有其他内容可以通过
getchilditem
进行过滤。悲伤,但确实如此。如果您需要多个过滤器,您可以使用
-Include
-支持相同的基本通配符语法,但接受字符串值数组:
-Include”?.id*.jpg“,“*.txt”
我还了解到PS5(或者可能是PS1+,但它是隐藏的)允许
-attributes
进行额外过滤。遗憾的是,没有按日期筛选,我真的想知道是否有比通过管道将发现的文件传送到
Where Object
更好的方法。再次感谢。有关
-Filter
参数的有用信息
*.jpg|*.txt