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.

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


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


23

Anda bisa mendapatkan parameter yang Anda minta dengan mengetik:

dir /?

Untuk daftar lengkap, coba:

dir /s /b /a:d

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.


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.