Daftar direktori rekursif dalam DOS

201

Bagaimana kita mencapai daftar direktori rekursif di DOS?

Saya mencari perintah atau skrip dalam DOS yang dapat memberi saya daftar direktori rekursif mirip dengan ls -Rperintah di Unix.

StarDotStar
sumber

Jawaban:

361

Kamu bisa memakai:

dir /s

Jika Anda memerlukan daftar tanpa semua informasi header / footer coba ini:

dir /s /b

(Pasti ini akan bekerja untuk DOS 6 dan yang lebih baru; mungkin sudah bekerja sebelumnya, tapi saya tidak ingat.)

Michael Todd
sumber
7
+1 sangat berguna. Jika direktori Anda berisi banyak file, maka perintah ini akan menggulirnya di layar terlalu cepat untuk dibaca. Saya pikir yang terbaik adalah menyalurkan output dari perintah ini ke file txt yang dapat Anda baca dengan kecepatan Anda sendiri. Sebagai contoh (dengan asumsi c: \ temp direktori dibuat): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook
Anda, Tuan, sungguh luar biasa! Itu bekerja seperti pesona! Saya menggunakannya di tempat kerja (di mana kita dipaksa memiliki mesin windows) dengan gVIM! Sungguh, sangat bagus! Anda menyelamatkan saya sakit kepala berjam-jam!
Walialu
Untuk beberapa alasan ia mencetak path absolut penuh dengan folder C: \ di depan ketika menggunakan / S dan / B, apakah itu dapat dicegah? Saya hanya ingin nama file relatif.
lama12345
2
Yap, berfungsi sempurna dengan Cari / Ganti "C: / folder" dan ganti dengan "".
lama12345
22
Sekadar menambahkan: tree /fmemberikan tampilan yang menyenangkan bagi mata :-)
arun
25

dir /s /b /a:d>output.txt akan memindahkannya ke file teks

Tribrach
sumber
23

Anda bisa mendapatkan parameter yang Anda minta dengan mengetik:

dir /?

Untuk daftar lengkap, coba:

dir /s /b /a:d
Fortius
sumber
3

Anda dapat menggunakan berbagai opsi dengan FINDSTR untuk menghapus garis yang tidak diinginkan, seperti:

DIR /S | FINDSTR "\-" | FINDSTR /VI DIR

Output normal berisi entri seperti ini:

28-Aug-14  05:14 PM    <DIR>          .
28-Aug-14  05:14 PM    <DIR>          ..

Anda dapat menghapus ini menggunakan berbagai opsi penyaringan yang ditawarkan oleh FINDSTR. Anda juga dapat menggunakan unxutils yang sangat baik, tetapi itu mengubah output ke UNIX secara default, sehingga Anda tidak lagi mendapatkan CR + LF; FINDSTR menawarkan opsi Windows terbaik.

Zeinab Qureshi
sumber
Bagus! Persyaratan tambahan saya adalah untuk menghitung semua baris, yang dilakukan dengan dir /s /b | find /v /c "".
domih
3

Saya suka menggunakan yang berikut ini untuk mendapatkan daftar direktori saat ini yang diurutkan dengan baik:

> dir . /s /b sortorder:N
Cinta dan kedamaian - Joe Codeswell
sumber