powershell 查找不包含选定字符串的文件

xe55xuns  于 2023-04-06  发布在  Shell
关注(0)|答案(5)|浏览(198)

我试图找到所有文件,其中不包含选定的字符串.查找文件包含很容易:

gci | select-string "something"

但我不知道如何否定这种说法。

qnzebej0

qnzebej01#

可以使用Where-Object;

gci | Where-Object { !( $_ | Select-String "something" -quiet) }
mspsb9vt

mspsb9vt2#

我不确定是否可以在没有foreach-object的情况下完成,但它可以工作:

gci |foreach-object{if (-not (select-string -inputobject $_ -Pattern "something")){$_}}
gdx19jrr

gdx19jrr3#

How do I output lines that do not match 'this_string' using Get-Content and Select-String in PowerShell?中所述
Select-String具有NotMatch参数。
你可以使用它:

gci | Select-String -notmatch "something"
imzjd6km

imzjd6km4#

foreach($line in Get-Content .\file.txt) 
{
    if(findstr $line "dummyText.txt" ){
        # Work here or skip here
    }
    else {
     
      echo $line 
    
}
qncylg1j

qncylg1j5#

试试这样的方法:

Get-ChildItem | Where-Object {-Not($_.Name.Contains("Case-Sensitive-String"))}

换句话说:

gci | ? {!($_.Name.Contains("Case-Sensitive-String"))}

相关问题