CMD sử dụng DIR để đặt hàng thư mục theo tên


3

Tôi đang sử dụng lệnh sau để liệt kê các tệp bao gồm các tệp trong thư mục con được sắp xếp theo tên.

dir /b/s/on

Các tập tin được sắp xếp chính xác trong các thư mục đã cho nhưng các thư mục không được sắp xếp. Các thư mục dường như được sắp xếp theo ngày sửa đổi cuối cùng.

dirthể sắp xếp các thư mục?

Dưới đây là ảnh chụp màn hình của một phân đoạn đầu ra (bị che khuất):

nhập mô tả hình ảnh ở đây


Các lệnh đó hiển thị các thư mục con và tệp tất cả được trộn lẫn và sắp xếp theo thứ tự bảng chữ cái cho tôi.
Karan

@Ofiris Tôi đang sử dụng FAT32 và NTFS trên W7.
Paul Fleming

Ok, nhận thấy thẻ bây giờ, ':' thực sự là tùy chọn.
Ofiris

Chuỗi obfuscated có giống hệt nhau cho tất cả các dòng được liệt kê ở trên trong ảnh chụp màn hình không?
Karan

@Kara. Có, tên thư mục bị xáo trộn sau ký tự ổ đĩa là giống nhau cho tất cả các mục. Nó thực sự nằm trong thư mục mà tôi đang chạy lệnh dir.
Paul Fleming

Câu trả lời:


4

dirlà cây đi bộ thư mục nhưng chỉ sắp xếp các mục trong thư mục lá. Đây là một vấn đề vì nó là một hệ thống tập tin FAT. Trên hệ thống tập tin FAT, các mục trong bất kỳ thư mục đã cho nào đều không được sắp xếp, làm cho cây đi bộ không được sắp xếp. Ngược lại, các thư mục NTFS luôn được sắp xếp.

Bạn có một vài giải pháp. Cách đơn giản nhất là dẫn đường ống đầu ra qua sort:

dir /b/s | sort

(Nếu bạn đang sử dụng sortđể thực hiện việc đặt hàng, không cần /ontùy chọn này dir.)

Sự thay thế khác của bạn sẽ là sử dụng kiểu Unix ls, chắc chắn sẽ có quyền này. Ví dụ sẽ là lstrong Cygwin hoặc vỏ Hamilton C của riêng tôi .


Bạn có thể chứng minh DIR với lệnh sort không?
Paul Fleming

Chắc chắn rồi. Thêm. Mong rằng sẽ giúp.
Nicole Hamilton

dir is tree-walking the directory but only sorting entries in the leaf directories. Tôi không theo dõi, bạn đang nói rằng các thư mục trong thư mục hiện tại không được sắp xếp? Tôi vừa thử nó trong một thư mục có nhiều tệp và thư mục trên ổ đĩa FAT32 và nó hoạt động chính xác từ CWD.
Synetech

1
Các mục nhập thư mục FAT và FAT32 không có thứ tự, không giống như NTFS. Họ theo thứ tự mà họ đã được thêm vào. (Nếu bạn sao chép một thư mục từ NTFS, chúng sẽ được sắp xếp.) Trong những ngày DOS cũ, mọi người thường sử dụng các trình sắp xếp thư mục để sắp xếp các mục trên đĩa để chúng được xếp theo thứ tự khi được liệt kê.
Nicole Hamilton

1
Đó là một vấn đề đã biết dirkhông sắp xếp toàn bộ cây, chỉ các thư mục lá nếu bạn thực hiện một thư mục FAT. Không có tổ chức cho cấu trúc thư mục FAT . Ngược lại, các thư mục NTFS sử dụng cấu trúc quản lý dữ liệu đặc biệt gọi là cây B ... các thư mục về cơ bản là "tự sắp xếp" .
Nicole Hamilton
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.