Powershell select-string 但有一个排除项
Powershell select-string but with an exclusion
Get-ChildItem "C:\users\admin\Desktop\docs\" -recurse |
Select-String "smtp" |
group path |
select name
它会在该文件夹中的所有文件中查找带有 SMTP 一词的文件,这很棒,但我想在该文件夹中查找具有 SMTP 但没有 PDF 一词的文件。
不知道如何让它做到这一点。
有什么想法吗?提前致谢,
尝试使用 -like
和 -notlike
:
Get-ChildItem "C:\users\admin\Desktop\docs" -recurse | where $_.FullName -like "*smtp*" -and $_.FullName -notlike "*pdf*"
您可以 "late filter" 来自 Select-String
的结果,方法是将过滤器应用于返回的 matchinfo
个对象的 .line
属性:
Get-ChildItem "C:\users\admin\Desktop\docs\" -recurse |
Select-String "smtp" |
Where { $_.line -notlike '*PDF*' } |
group path |
select name
Get-ChildItem "C:\users\admin\Desktop\docs\" -recurse |
Select-String "smtp" |
group path |
select name
它会在该文件夹中的所有文件中查找带有 SMTP 一词的文件,这很棒,但我想在该文件夹中查找具有 SMTP 但没有 PDF 一词的文件。
不知道如何让它做到这一点。
有什么想法吗?提前致谢,
尝试使用 -like
和 -notlike
:
Get-ChildItem "C:\users\admin\Desktop\docs" -recurse | where $_.FullName -like "*smtp*" -and $_.FullName -notlike "*pdf*"
您可以 "late filter" 来自 Select-String
的结果,方法是将过滤器应用于返回的 matchinfo
个对象的 .line
属性:
Get-ChildItem "C:\users\admin\Desktop\docs\" -recurse |
Select-String "smtp" |
Where { $_.line -notlike '*PDF*' } |
group path |
select name