2009-08-04 68 views

Trả lời

12

Đoạn mã này truy xuất danh sách tất cả các ổ đĩa logic trên máy và sau đó tìm kiếm tất cả các thư mục trên ổ đĩa cho các tệp khớp với tên tệp "Cheese.exe". Khi vòng lặp đã hoàn thành, các "tác phẩm" Danh sách chứa các

 var files = new List<string>(); 
    //@Stan R. suggested an improvement to handle floppy drives... 
    //foreach (DriveInfo d in DriveInfo.GetDrives()) 
    foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady == true)) 
    { 
     files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "Cheese.exe", SearchOption.AllDirectories)); 
    } 
+1

Hầu như - bạn cần thêm vào SearchOption –

+0

điều gì xảy ra khi bạn không có quyền truy cập vào thư mục cung cấp ... nói "Tài liệu và cài đặt" :) –

+0

vâng, một số xử lý ngoại lệ sẽ là cần thiết - đoạn sẽ bị lỗi hầu hết các máy vì ổ đĩa mềm chưa sẵn sàng. Nó cho thấy cú pháp của phương thức GetFiles, đó là những gì cần thiết. –

2

Nếu bạn muốn biết thêm một chút về các cơ chế tìm kiếm nhiều thư mục, Googling tiết lộ this post. Nó có một giải pháp tốt và giải thích về đệ quy thông qua các thư mục chính mình. Bạn có thể thay đổi filespec trong Directory.GetFiles để phù hợp với chuỗi tìm kiếm của bạn và có thể sử dụng nó như là.

Các vấn đề liên quan