2013-07-30 6 views

risposta

8

non sono sicuro se può essere fatto senza la foreach-object ma questo funziona:

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

Vorrei anche utilizzare l'opzione '-List', cioè' Select-String ... -List' al fine di renderlo più efficace, presumibilmente, perché noi non hanno bisogno di tutte le partite trovate –

+0

E ancora una cosa. Questo codice restituisce anche le directory. Per evitare ciò userei 'gci -File' (in PowerShell V3, almeno). –

+4

'Where-Object' può renderlo ancora più semplice. 'gci -File | Where-Object {! (Select-String -InputObject $ _ -Pattern "something" -List)} ' –

14

È possibile utilizzare Where-Object;

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