2013-07-30 11 views

Odpowiedz

8

Nie jestem pewien, czy można to zrobić bez foreach-object ale to działa:

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

Chciałbym również użyć przełącznika '-List', czyli' Select-String ... -List' aby uczynić to bardziej skuteczne, przypuszczalnie dlatego, że nie potrzebujesz wszystkich znalezionych pasujących elementów. –

+0

I jeszcze jedno. Ten kod również zwraca katalogi. Aby tego uniknąć, użyłbym 'gci -File' (przynajmniej w PowerShell V3). –

+4

'Where-Object' może jeszcze prostsze. 'gci -File | Where-Object {! (Select-String -InputObject $ _ -Pattern "something" -List)} ' –

14

Można użyć Where-Object;

gci | Where-Object { !($_ | Select-String "something" -quiet) } 
Powiązane problemy