Powershell学习笔记--使用正则表达式查找文件

支持所有PS版本

Get-ChildItem 不支持文件高级筛选。它只能使用简单的通配符,但不能使用正则表达式。

围绕这个问题,我们可以使用-match命令来筛选。

下面这个例子将获得所有windows目录下包含至少连续有两个数字的文件同时文件名长度不超过8个字符:

Get-ChildItem -Path $env:windir -Recurse -ErrorAction SilentlyContinue |
 Where-Object { $_.BaseName -match 'd{2}' -and $_.Name.Length -le 8 }

注意文件的属性”BaseName”是没有包括扩展名的,这样数字出现在扩展名将不会被统计。