Jak przeprowadzić proste wyszukiwanie plików w cmd

140

Chcę szybko wyszukać plik, podając jego nazwę lub część nazwy, z wiersza poleceń systemu Windows (nie z powłoki zasilania). Jest to podobne do otwierania eksploratora i korzystania z pola wyszukiwania u góry.

Uwaga: dirmożna wyszukiwać w oparciu o szablon ciągu, ale nie będzie wyszukiwać w podkatalogach.

Uwaga2: findstrmoże służyć do wyszukiwania tokenu w plikach i ma flagę rekursywności; zabawne, że można łatwo znaleźć bardziej złożone znalezisko ...

Bogdan Gavril MSFT
źródło
Możliwy duplikat superuser.com/questions/177234/...
uchwyt

Odpowiedzi:

184

dir /s *foo* wyszukuje w bieżącym folderze i podfolderach.

Znajduje katalogi, a także pliki.

gdzie / s oznacza (dokumentacja) :

/ s Wyświetla wszystkie wystąpienia określonej nazwy pliku w określonym katalogu i wszystkich podkatalogach.

Gilles Arcas
źródło
Mam inne pytanie, jak skopiować te znalezione dokumenty do innego folderu? Wielkie dzięki
Hong Cheng,
@HongCheng Możesz użyć symbolu wieloznacznego z Xcopypo zweryfikowaniu danych wyjściowych za pomocą DIRpowyższego polecenia, aby użyć tego samego, co w xcopy *foo* c:\Tempcelu znalezienia wszystkich *foo*plików i skopiowania ich do c:\Tempkatalogu
Vinod Srivastav
133
dir /b/s *.txt  

wyszukuje cały plik txt w drzewie katalogów. Przed użyciem po prostu zmień katalog na root, używając

cd/

możesz także wyeksportować listę do pliku tekstowego za pomocą

dir /b/s *.exe >> filelist.txt

i szukaj w obrębie za pomocą

type filelist.txt | find /n "filename"

EDYCJA 1: Chociaż to polecenie dir działa od dawnych czasów DOS, ale Win7 dodał coś nowego o nazwie Gdzie

where /r c:\Windows *.exe *.dll

wyszuka exe i dll na dysku c: \ Windows zgodnie z sugestią @SPottuit możesz również skopiować wynik do schowka za pomocą

where /r c:\Windows *.exe |clip

po prostu poczekaj, aż pojawi się monit i nie kopiuj niczego do tego czasu.

EDYCJA 2: Jeśli wyszukujesz rekurencyjnie, a wynik jest duży, zawsze możesz użyć go, moreaby włączyć stronicowanie, pojawi się -- More --na dole i przewinie do następnej strony po naciśnięciu SPACElub przejdzie wiersz po wierszu po naciśnięciuENTER

where /r c:\Windows *.exe |more

Aby uzyskać więcej pomocy, spróbuj

where/?
Vinod Srivastav
źródło
5
Możesz także wyeksportować listę do schowka, zastępując >> filelist.txt| clip. Więcej informacji o używaniu | klip .
Sjoerd Pottuit
6
Dodając /btyle dirtylko nazwę pliku lub filepath (jeśli wyszukiwanie w wielu folderach) jest zwracana ( b są format) i żadnych szczegółów pliku i folderu. Dodając /style dirze s UB-katalogów będzie przeszukiwana. Więcej informacji o poleceniu dir .
Sjoerd Pottuit
Nie wiem, dlaczego nie jest to akceptowana odpowiedź. Zawiera wszystko, co ma i dużo więcej. Dzięki za opublikowanie tego. Chciałbym móc zagłosować więcej niż raz!
Avrohom Yisroel
1
można by się spodziewać, że tylko cd \ lub cd \ zmieni się na katalog główny, ale wydaje się, że cd / również wykonuje swoją pracę w systemie Windows 10 - nie jestem pewien, ponieważ jest to prawda w wersji DOS / Windows
George Birbilis
1
@Vinod Srivastav, bardzo miło. Wyjaśniono wszystkie możliwe scenariusze.
Klanto Aguntuk
2

dir *.txt /s /p poda bardziej szczegółowe informacje.

Mullai Nathan
źródło
1
Jakie szczegóły? /pzatrzyma się i będzie tak samo jakwhere /r c:\Windows *.exe /T |more
Vinod Srivastav
0

Problem z DIR polega na tym, że zwróci błędne odpowiedzi. Jeśli szukasz DOC w folderze, używając DIR *.DOCgo, otrzymasz również DOCX . Wyszukiwanie *.HTMda także kod HTML i tak dalej ...

Hobbe Lundahl
źródło
2
Dlatego należy stosować GDZIE jak Where /R c:\ *.DOC *.HTMna potrzeby
Vinod Srivastav
Vinod Srivastav. Wypróbowałem to teraz i wow, to działa cuda. :) Wdrożę to do moich partii.
Hobbe Lundahl
0

Możesz wyszukiwać w oknach przez DOS i eksplorator GUI.

DOS:

1) REŻ

2) ICACLS (wyszukuje pliki i foldery, aby ustawić dla nich ACL)

3) cacls ............................................... ...

2) przykład

icacls c: * ntoskrnl *. * / grant system: (f) / c / t, a następnie użyj PMON z sysinternals, aby monitorować foldery, którym odmówiono dostępu. Wynik zawiera

ścieżka dostępu zawiera dysk

nazwa procesu to explorer.exe

to były filtry, które musisz zastosować

Ali
źródło