支持所有PS版本
Get-ChildItem 不支持文件高级筛选。它只能使用简单的通配符,但不能使用正则表达式。
围绕这个问题,我们可以使用-match命令来筛选。
下面这个例子将获得所有windows目录下包含至少连续有两个数字的文件同时文件名长度不超过8个字符:
1
2
|
Get-ChildItem -Path $env:windir -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.BaseName -match '\d{2}' -and $_.Name.Length -le 8 }
|
注意文件的属性”BaseName”是没有包括扩展名的,这样数字出现在扩展名将不会被统计。