支持所有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”是没有包括扩展名的,这样数字出现在扩展名将不会被统计。
原文地址:Searching Files with Regular Expressions
本文链接: https://www.pstips.net/searching-files-with-regular-expressions.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
貌似Get-ChildItem的-include参数支持简单的正则表达式匹配。可以参考:http://www.pstips.net/accessing-files-and-directories.html#过滤和排除标准
Get-Help about_Wildcards,[]可以使用在通配符中。