2011-08-23 46 views
7

Tôi muốn liệt kê các tệp trong một thư mục nhưng không liệt kê các thư mục con. DIR cho phép bạn liệt kê các loại tệp cụ thể (ẩn, lưu trữ sẵn sàng, v.v.) và cũng chỉ có các thư mục nhưng tôi không thể xem cách chỉ liệt kê các tệp.Loại bỏ tên thư mục được liệt kê với DIR

Tôi cần tuyên bố sau để trả lại tệp để xử lý thêm, nhưng tên thư mục đang làm rối tung mọi thứ!

for /f %%a in ('dir /b %csvPath%') do (
) 

Trả lời

11

dir /b /a-d sẽ cung cấp cho bạn các tệp không có thư mục. Lưu ý không có khoảng cách giữa /a-d. Các '-' nói "KHÔNG" thư mục.

Từ thông tin dir /? giúp đỡ:

/A   Displays files with specified attributes. 
    attributes D Directories    R Read-only files 
       H Hidden files    A Files ready for archiving 
       S System files    - Prefix meaning not 
    /B   Uses bare format (no heading information or summary). 
+0

Fantastic. Tôi đã thực sự đọc các tập tin trợ giúp nhưng nó đã được vào cuối một ngày dài! Cảm ơn bạn đã chỉ ra điều đó. – RichGK

0

Bạn có thể sử dụng:

dir /b /a-d 

Mà sẽ ngăn chặn các thư mục được liệt kê.

Các /A switch có một vài lựa chọn khác để hỗ trợ với bộ lọc:

 
/A   Displays files with specified attributes. 
attributes D Directories    R Read-only files 
      H Hidden files    A Files ready for archiving 
      S System files    I Not content indexed files 
      L Reparse Points    - Prefix meaning not 
0

Bạn muốn /A-D tùy chọn:

for /f %%a in ('dir /A-D /b %csvPath%') do () 
1
dir /b /s /a-d 

/s danh sách tất cả các thư mục và tất cả các thư mục con chứa các file, và (a-d) mà không cần các thư mục rỗng.

dir /b /s /a-d /p 

/p tạm dừng

dir /b /s /a-d > list.txt 
Các vấn đề liên quan