2013-07-30 29 views

Trả lời

8

Tôi không chắc chắn nếu nó có thể được thực hiện mà không có sự foreach-object nhưng công trình này:

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

Tôi cũng sẽ sử dụng công tắc '-List', tức là' Chọn-String ... -List' để làm này hiệu quả hơn, có lẽ, bởi vì chúng tôi không cần tất cả các kết quả phù hợp. –

+0

Và một điều nữa. Mã này cũng trả về các thư mục. Để tránh điều này, tôi sẽ sử dụng 'gci -File' (trong PowerShell V3, ít nhất). –

+4

'Where-Object' có thể làm cho nó đơn giản hơn. 'gci -File | Where-Object {! (Select-String -InputObject $ _ -Pattern "cái gì đó" -List)} ' –

14

Bạn có thể sử dụng Where-Object;

gci | Where-Object { !($_ | Select-String "something" -quiet) } 
Các vấn đề liên quan