我试图找到所有文件,其中不包含选定的字符串.查找文件包含很容易:
gci | select-string "something"
但我不知道如何否定这种说法。
qnzebej01#
可以使用Where-Object;
Where-Object
gci | Where-Object { !( $_ | Select-String "something" -quiet) }
mspsb9vt2#
我不确定是否可以在没有foreach-object的情况下完成,但它可以工作:
foreach-object
gci |foreach-object{if (-not (select-string -inputobject $_ -Pattern "something")){$_}}
gdx19jrr3#
如How do I output lines that do not match 'this_string' using Get-Content and Select-String in PowerShell?中所述Select-String具有NotMatch参数。你可以使用它:
NotMatch
gci | Select-String -notmatch "something"
imzjd6km4#
foreach($line in Get-Content .\file.txt) { if(findstr $line "dummyText.txt" ){ # Work here or skip here } else { echo $line }
qncylg1j5#
试试这样的方法:
Get-ChildItem | Where-Object {-Not($_.Name.Contains("Case-Sensitive-String"))}
换句话说:
gci | ? {!($_.Name.Contains("Case-Sensitive-String"))}
5条答案
按热度按时间qnzebej01#
可以使用
Where-Object
;mspsb9vt2#
我不确定是否可以在没有
foreach-object
的情况下完成,但它可以工作:gdx19jrr3#
如How do I output lines that do not match 'this_string' using Get-Content and Select-String in PowerShell?中所述
Select-String具有
NotMatch
参数。你可以使用它:
imzjd6km4#
qncylg1j5#
试试这样的方法:
换句话说: