Daftar semua file di semua subfolder

33

Di windows, apakah ada cara untuk mendapatkan daftar semua file dalam folder, termasuk semua file di dalam semua subfolder?

Edward Wong Hau Pepelu Tivrusk
sumber

Jawaban:

37

Daftar semua File secara Rekursif

C: \> dir / s

Untuk menyimpannya ke file

C: \> dir / s /b>filelist.txt

Lihat halaman demi halaman

C: \> dir / s | lebih

Nifle
sumber
3
Baiklah, oke ... Ini juga akan berhasil. Hanya ingin tahu mengapa tidak ada yang menggunakan fungsi Pencarian standar Windows untuk ini. :-)
Wim ten Brink
2
@Workshop Alex: Karena 1) rekursif dirhanya sedikit lebih cepat jika tidak harus memeriksa kondisi apa pun; 2) itu memungkinkan Anda menyimpan nama ke dalam file.
grawity
4
@WimtenBrink: dan bagaimana Anda akan mengirim pencarian windows ke pengguna lain?
Adolf bawang putih
1
Anda tidak perlu menyalurkan lebih banyak, Anda hanya perlu sakelar / p (melakukan hal yang sama)
Keltari
3
Karena pertanyaannya tidak menyebutkan direktori, seharusnya begitu dir /a-d /b /s.
jiggunjer
15

Coba pohon / f. Ini akan menampilkan seluruh struktur.

alex
sumber
1
Yang akan ditampilkan sebagai pohon, bukan daftar.
Joey
Anda tidak berpikir OP akan mempertimbangkan daftar hasil itu?
hyperslug
2
Saya pikir perintah pohon akan memiliki pemformatan terbaik, memungkinkan Anda untuk melihat dengan jelas tingkat subfolder.
alex
itu memang memiliki struktur terbaik. dapatkah itu disimpan sebagai file teks atau file html?
xypha
mencoba tree /f>filelist.txt& itu berhasil.
xypha
5

Anda akan mendapatkan UnixUtils di sourceforge , yang akan memberi Anda find.exe.

Anda kemudian dapat melakukan hal berikut untuk daftar semua file dengan jalur folder.

cd Path\to\folder
find.exe . -type f

Ada bentuk lain dari perintah Unix yang mungkin berguna bagi Anda.
Output lebih dapat dicari dibandingkan dengan yang asli dirdan treeperintah.


Diperbarui dengan masukan dari Johannes.
Di dalam cmd.exeshell

dir /b /s

bekerja cukup baik untuk daftar rekursif dalam bentuk Janda yang diformat,
(jadi Anda melihat " C:\" dan garis miring terbalik, ' \').
Saya benar-benar merindukan jawaban " \b" dalam Nifle! (+1 untuk itu sekarang).

nik
sumber
Tidak perlu menginstal apa pun di sini, karena dirsangat mampu melakukan ini.
Joey
1
@ Johnannes, sudahkah Anda membandingkan findkeluaran Unix dengan DOS dir /satau treedalam hal ini?
nik
1
Apakah kamu pernah menggunakan dir /b? :-)
Joey
@ Johnannes, sebenarnya saya tidak ingat jika saya melakukan itu di DOS 6,22 hari. Got lebih digunakan untuk finddan dengan Cygwin, tidak pernah mencoba perintah dos (sebenarnya membawa saya waktu untuk terbuka cmdshell dan menghindari /usr/bin/diruntuk mencoba opsi yang Tapi, itu tidak bekerja; senang untuk belajar itu.:-)
nik
2

Kenapa begitu rumit? Tekan Windowskey + F untuk memulai "Pencarian File" di Windows. Di sebelah kiri, buka "Lihat ke" dan pilih opsi di bagian bawah yang disebut "Browse ...". Pilih folder (sub) di mana Anda ingin mencari. Masukkan "*" (tanpa tanda kutip) di kotak edit "Semua atau sebagian nama file" dan mulai pencarian. Dapatkan kopi saat Anda mencari di disk besar dengan banyak data dan tunggu saja mesin pencari berbasis explorer ini untuk menunjukkan kepada Anda daftar lengkap. Anda dapat mencarinya, membuka file secara langsung dan bahkan mempersempit pencarian Anda jika perlu.

Mengapa orang lupa perilaku pencarian default Windows ini?

Wim sepuluh Brink
sumber
3
karena bukan 1337? :-)
Natrium
13
Anda akan kesulitan mendapatkan itu dalam file teks, misalnya.
Joey
Benar, tetapi mengapa seseorang menginginkannya dalam file teks? :-)
Wim sepuluh Brink
2
Perhatikan bahwa ini akan (setidaknya pada Win XP) mencari semua file ZIP di semua subfolder juga. Yang akan sangat lambat. Yang mungkin bukan yang Anda inginkan. Yang tidak bisa dimatikan dengan mudah. Jika tidak ada file ZIP, saya setuju bahwa ini adalah pendekatan terbaik.
Martin
@ Win: Proses 5 langkah Anda (Win + F, Browse, Subfolder, *, Start) jauh lebih lambat daripada hanya mengetik "dir / s" (untuk juru ketik yang mengetik lebih dari 100 kata per menit, dan terbiasa melakukan hal-hal pada prompt perintah, sehingga sering dibuka sebelumnya). Juga, proses yang Anda sebutkan telah berubah dengan versi Windows, sementara "dir / s" konsisten. Selain itu, proses Anda membutuhkan menekan Win + F, yang tidak selalu mudah. Terkadang, bahkan jika keyboard memiliki kunci Windows, tombol itu mungkin lebih sulit untuk digunakan, seperti dalam skenario Remote Access di mana kunci tersebut dapat digunakan oleh komputer lokal alih-alih remote
TOOGAM
1

Saya menemukan file batch ini berguna

DragDropListFile.bat

@ECHO OFF
SET targetPath="%~1"
SET ToolPath=%~dp0

dir %targetPath% /b /s /a-d > "%ToolPath%list.txt"

Penggunaan: Cukup seret folder dan letakkan di file DragDropListFile.bat, lalu file bernama list.txt, yang berisi apa yang Anda inginkan, dibuat.

Jika Anda tidak suka seret & jatuhkan, coba file kumpulan ini

ListFile.bat

ECHO OFF

SET crtPath=%~dp0

dir "%crtPath%" /b /s /a-d > list.txt

Penggunaan: letakkan file ListFile.bat di folder yang ingin Anda daftarkan file, kemudian jalankan file ListFile.bat, kemudian file bernama list.txt, yang berisi apa yang Anda inginkan, dibuat.

Aku bisa tidur
sumber
0

dir /s /w >files.txtakan membuat Anda sebagian besar jalan ke sana. Itu akan menjaga ekstensi. Kemudian buka files.txtdi editor teks dan baik

  • urutkan semua baris dan hapus yang berlebihan
  • atau menghapusnya dengan operasi temukan dan ganti atau 2.
    • Regex ^ +\d+ File.+\r\n\r\n Dir.+\r\n\r\nmenyingkirkan celah dan detail folder antara daftar file folder individual untuk saya di Notepad ++.
  • Kemudian cukup potong bagian atas & belakang file teks.
CAD pria
sumber