Danh sách thư mục đệ quy trong DOS


201

Làm thế nào để chúng ta đạt được một danh sách thư mục đệ quy trong DOS?

Tôi đang tìm kiếm một lệnh hoặc một tập lệnh trong DOS có thể cung cấp cho tôi danh sách thư mục đệ quy tương tự như ls -Rlệnh trong Unix.

Câu trả lời:


361

Bạn có thể dùng:

dir /s

Nếu bạn cần danh sách mà không có tất cả thông tin đầu trang / chân trang, hãy thử điều này:

dir /s /b

(Để chắc chắn điều này sẽ hoạt động cho DOS 6 trở lên; có thể đã hoạt động trước đó, nhưng tôi không thể nhớ lại.)


7
+1 rất tiện dụng. Nếu thư mục của bạn chứa nhiều tệp, thì lệnh này sẽ cuộn chúng trên màn hình quá nhanh để đọc. Tôi nghĩ rằng tốt nhất là chuyển đầu ra của lệnh này sang tệp txt mà bạn có thể đọc với tốc độ của riêng bạn. Ví dụ: (giả sử thư mục c: \ temp được tạo): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook

Thưa ngài, thật là tuyệt vời! Nó làm việc như một say mê! Tôi đã sử dụng nó tại nơi làm việc (nơi chúng tôi buộc phải có máy windows) với gVIM! Thực sự, thực sự tốt! Bạn đã cứu tôi hàng giờ đau đầu!
Walialu

Vì một số lý do, nó in đường dẫn tuyệt đối đầy đủ với thư mục C: \ ở phía trước khi sử dụng / S và / B, điều đó có thể ngăn chặn được không? Tôi chỉ muốn tên tệp tương đối.
lama12345

2
Đúng, hoạt động hoàn hảo với Tìm kiếm / Thay thế "C: / thư mục" và thay thế bằng "".
lama12345

22
Chỉ cần thêm: tree /fcung cấp cho màn hình hiển thị vừa mắt :-)
arun

25

dir /s /b /a:d>output.txt sẽ chuyển nó vào một tệp văn bản


23

Bạn có thể nhận được các tham số bạn yêu cầu bằng cách nhập:

dir /?

Để biết danh sách đầy đủ, hãy thử:

dir /s /b /a:d

3

Bạn có thể sử dụng các tùy chọn khác nhau với FINDSTR để xóa các dòng không muốn, như vậy:

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

Đầu ra bình thường chứa các mục như thế này:

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

Bạn có thể loại bỏ các tùy chọn này bằng các tùy chọn lọc khác nhau được cung cấp bởi FINDSTR. Bạn cũng có thể sử dụng các unxutils tuyệt vời, nhưng nó chuyển đổi đầu ra thành UNIX theo mặc định, do đó bạn không còn nhận được CR + LF; FINDSTR cung cấp tùy chọn Windows tốt nhất.


Đẹp! Yêu cầu bổ sung của tôi là đếm tất cả các dòng, được thực hiện với dir /s /b | find /v /c "".
domih

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.