PowerShell如何按文件后缀过滤文件?实例教程

发布时间:2020-09-16编辑:脚本学堂
怎么用PowerShell按文件后续过滤文件呢?用powershell脚本可以自定义一个过滤器,实现指定类型文件的过滤与筛选,需要的朋友参考下。

Powershell实现按文件后缀过滤文件的方法

在使用powershell时,经常要使用Get-ChildItem(别名为dir),去获取一些文件或目录。
然后,对这些结果按文件类型,即文件后缀去进行筛选。

今天来分享一个更简单的过滤文件名,也就是筛选指定类型文件的方法,一起来看看吧。

首先,在powershell脚本中实现一个Filter代码。
 

复制代码 代码示例:
Filter Where-Extension
{
   param
   (
       [String[]]
       $extension = ('.png', '.jpg', '.gif')
   )
  
   $_ |
   Where-Object {
       $extension -contains $_.Extension
   }
}

什么是Filter?

其实跟函数差不多,只不过是放在管道之后的。
所以,在Filter中会看到“$_ |”这样的标记。(www.jb200.com 脚本学堂)
这个Filter要求传入一个数组参数,那就是后缀列表。
如果不传,那默认就筛选.png,.jpg和.gif。

如何使用这个Filter过滤文件呢?

比如要筛选中d盘根目录下所有.txt或.log这样的文本文件,PowerShell脚本代码如下:
dir d: | Where-Extension .txt,.log

提示:
可以把这个Filter放到profile中,这样每次调用就不用再定义了,直接使用就可以了。