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 ...


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.


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/?

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


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 ...


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ć

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.