2013-07-30 56 views

回答

8

我不知道,如果它可以在不foreach-object做,但这个工程:

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

我也要用开关'-List',即'Select-String会... -List'为了使这更有效的,据推测,因为我们不需要所有找到的匹配。 –

+0

还有一件事。该代码也返回目录。为了避免这种情况,我会使用'gci -File'(至少在PowerShell V3中)。 –

+4

'Where-Object'可以使它更简单。 'gci -File | Where-Object {!(Select-String -InputObject $ _ -Pattern“something -List)}' –

14

您可以使用Where-Object;

gci | Where-Object { !($_ | Select-String "something" -quiet) } 
相关问题