2013-09-30 13 views
11

Chciałbym wyszukać folder w określonym katalogu i podfolderach.Jak szukać folderu z Powershell

Próbowałem googling, ale naprawdę nie znalazłem żadnych użytecznych przykładów.

+1

Czy spojrzałeś na przełącznik '-recurse' na' Get-ChildItem'? – Richard

Odpowiedz

22
Get-ChildItem C:\test -recurse | Where-Object {$_.PSIsContainer -eq $true -and $_.Name -match "keyword"} 

Uważam, że nie ma dedykowanego polecenia cmdlet do wyszukiwania plików.

Edycja w odpowiedzi na @Notorious komentarza: Ponieważ PowerShell 3.0 jest to o wiele łatwiejsze, ponieważ przełączniki -Direcotry i -File dodano Get-ChildItem. Więc jeśli chcesz krótko, to:

ls c:\test *key* -Recurse -Directory 

Z alisem poleceń i uzupełnianiem tabulatorów dla przełączników jest bardzo proste. Właśnie tęskniłem za pierwszym razem.

+4

Dla osób o mniejszej znajomości Powershell wyrażenie "$ _. PSIsContainer -eq $ true" jest testem dla bieżącego obiektu będącego folderem. – daftspaniel

+0

O wiele prostsze niż "słowo kluczowe" dir/s? Dlaczego komendy powershells są opóźnione? Sądzę, że to po prostu więcej SM w SM, sprawiać, że rzeczy są nadęte i niepotrzebnie skomplikowane, tak aby użytkownik końcowy wolał jeść puszkę z gwoździami popijaną benzyną niż używać ich okropnych produktów. –

+0

@ NotoriousPet0 Zobacz edycję krótszej wersji. Poza tym popularne polecenia mają zwykle aliasy, które znasz od * nix lub cmd, a długi system nazw poleceń ma swoje zalety. Możesz łatwo uchwycić nowy moduł dzięki konwencji czasownik-rzeczownik i znaleźć polecenia: 'get-command -Noun item'; 'Get-Command -Verb convertto'. –

Powiązane problemy