Cara melakukan pencarian file sederhana di cmd

131

Saya ingin cepat mencari file yang diberi nama atau bagian namanya, dari baris perintah windows (bukan power shell). Ini mirip dengan membuka explorer dan menggunakan kotak pencarian di bagian atas.

Catatan: dirdapat mencari berdasarkan pada templat string tetapi tidak akan mencari di subdirektori.

Note2: findstrdapat digunakan untuk mencari token di dalam file dan memiliki flag recursivity; lucu bahwa penemuan yang lebih kompleks dapat dengan mudah ditemukan ...

Bogdan Gavril MSFT
sumber
Kemungkinan duplikat dari superuser.com/questions/177234/…
tangani

Jawaban:

175

dir /s *foo* mencari di folder dan sub folder saat ini.

Ia menemukan direktori serta file.

di mana / s berarti (dokumentasi) :

/ s Mencantumkan setiap kemunculan nama file yang ditentukan dalam direktori yang ditentukan dan semua subdirektori.

Gilles Arcas
sumber
Saya punya pertanyaan lain, bagaimana cara menyalin dokumen yang ditemukan ini ke folder lain? Terima kasih banyak
Hong Cheng
@HongCheng Anda dapat menggunakan wildcard dengan Xcopysetelah memverifikasi output dengan DIRperintah di atas sebagai menggunakan yang sama xcopy *foo* c:\Tempuntuk menemukan semua *foo*file dan menyalinnya dalam c:\Tempdirektori
Vinod Srivastav
128
dir /b/s *.txt  

mencari semua file txt di pohon direktori. Sebelum menggunakannya, ubah direktori ke root menggunakan

cd/

Anda juga dapat mengekspor daftar ke file teks menggunakan

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

dan cari di dalam menggunakan

type filelist.txt | find /n "filename"

EDIT 1: Meskipun perintah dir ini berfungsi sejak masa lalu tetapi Win7 menambahkan sesuatu yang baru bernama Where

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

akan mencari exe & dll di drive c: \ Windows seperti yang disarankan oleh @SPottuit Anda juga dapat menyalin output ke clipboard dengan

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

tunggu saja prompt untuk kembali dan jangan menyalin apa pun sampai saat itu.

EDIT 2: Jika Anda mencari secara rekursif dan hasilnya besar, Anda selalu dapat menggunakan moreuntuk mengaktifkan paging, itu akan ditampilkan -- More --di bagian bawah dan akan gulir ke halaman berikutnya setelah Anda menekan SPACEatau bergerak baris demi baris pada menekanENTER

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

Untuk bantuan lebih lanjut, cobalah

where/?
Vinod Srivastav
sumber
5
Anda juga dapat mengekspor daftar ke clipboard Anda dengan menggantinya >> filelist.txtdengan | clip. Info lebih lanjut tentang penggunaan | klip .
Sjoerd Pottuit
6
Dengan menambahkan di /bbelakang dirhanya nama file atau filepath (jika mencari di banyak folder) dikembalikan ( b adalah format) dan tidak ada rincian file dan folder. Dengan menambahkan /sbelakang diryang s ub-direktori juga akan dicari. Info lebih lanjut tentang perintah dir .
Sjoerd Pottuit
Tidak tahu mengapa ini bukan jawaban yang diterima. Berisi semua yang ada dan banyak lagi. Terima kasih telah memposting ini. Seandainya aku bisa lebih baik sekali!
Avrohom Yisroel
1
orang akan berharap bahwa hanya cd \ atau cd \ akan berubah ke direktori root, tetapi tampaknya cd / juga melakukan pekerjaan pada Windows 10 - tidak yakin karena versi DOS / Windows ini benar
George Birbilis
1
@Vinod Srivastav, sangat bagus. Semua skenario yang mungkin dijelaskan.
Klanto Aguntuk
2

dir *.txt /s /p akan memberikan informasi lebih detail.

Mullai Nathan
sumber
1
Detail apa? /pakan berhenti sebentar dan itu sama denganwhere /r c:\Windows *.exe /T |more
Vinod Srivastav
0

Masalah dengan DIR adalah bahwa ia akan mengembalikan jawaban yang salah. Jika Anda mencari DOC di folder dengan menggunakannya DIR *.DOCjuga akan memberi Anda DOCX . Mencari *.HTMjuga akan memberikan HTML dan seterusnya ...

Hobbe Lundahl
sumber
2
Itulah mengapa orang harus menggunakan MANA sebagai Where /R c:\ *.DOC *.HTMuntuk tujuan
Vinod Srivastav
Vinod Srivastav. Saya mencobanya sekarang dan wow, pekerjaan ini sangat menakjubkan. :) Saya akan menerapkan ini ke batch saya.
Hobbe Lundahl
0

Anda dapat mencari di windows dengan DOS dan GUI explorer.

DOS:

1) DIR

2) ICACLS (mencari file dan folder untuk mengatur ACL pada mereka)

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

2) contoh

icacls c: * ntoskrnl *. * / sistem hibah: (f) / c / t, kemudian gunakan PMON dari sistem untuk memantau folder apa saja yang tidak dapat diakses. Hasilnya berisi

jalur akses berisi drive Anda

nama proses adalah explorer.exe

itulah filter yang harus Anda lamar

Ali
sumber