Bạn biết rằng trong linux thật dễ dàng nhưng tôi không thể chỉ hiểu cách thực hiện trong C# trên Windows. Tôi muốn xóa tất cả các tệp khớp với ký tự đại diện f*.txt
. Làm thế nào để tôi đi về điều đó?Xóa nhiều tập tin với ký tự đại diện
57
A
Trả lời
117
Bạn có thể sử dụng DirectoryInfo.EnumerateFiles
function:
var dir = new DirectoryInfo(directoryPath);
foreach (var file in dir.EnumerateFiles("f*.txt")) {
file.Delete();
}
(. Tất nhiên, có thể bạn sẽ muốn thêm xử lý lỗi)
8
Bạn có thể sử dụng phương thức Directory.GetFiles với quá tải ký tự đại diện. Điều này sẽ trả về tất cả các tên tệp phù hợp với mẫu của bạn. Sau đó, bạn có thể xóa các tệp này.
33
Tôi biết điều này đã được trả lời và có một câu trả lời tốt, nhưng có một thay thế trong .NET 4.0 và cao hơn. Sử dụng Directory.EnumerateFiles()
, như sau:
foreach (string f in Directory.EnumerateFiles(myDirectory,"f*.txt"))
{
File.Delete(f);
}
Những bất lợi của DirectoryInfo.GetFiles()
là nó trả về một danh sách các tập tin - trong đó 99,9% thời gian là rất tốt. Điểm bất lợi là nếu thư mục chứa hàng chục nghìn tệp (hiếm khi xảy ra) thì nó trở nên rất chậm và liệt kê thông qua các tệp phù hợp nhanh hơn nhiều.
Các vấn đề liên quan
- 1. Cách lặp qua các tập tin khớp với ký tự đại diện trong tập tin thực thi
- 2. Làm thế nào để loại bỏ nhiều tập tin trong C bằng cách sử dụng ký tự đại diện?
- 3. Python: nhập khẩu tập hợp ký tự đại diện
- 4. thay thế ký tự đại diện sed
- 5. PHP file_exists và ký tự đại diện
- 6. MySQL chọn sử dụng ký tự đại diện (nhưng ký tự đại diện trong lĩnh vực)
- 7. Git lệnh với sự mở rộng ký tự đại diện
- 8. Ký tự đại diện bằng Python?
- 9. Regular Expression với ký tự đại diện để phù hợp với bất kỳ ký tự
- 10. Apache gạch ký tự đại diện với mùa xuân WebFlow
- 11. Ký tự đại diện thường xuyên
- 12. Tìm kiếm ký tự đại diện Solr
- 13. ký tự đại diện trong Java PreparedStatements
- 14. Ký tự đại diện trong Chế độ xem với CouchDB?
- 15. Java Generics (ký tự đại diện)
- 16. Tìm khóa bằng ký tự đại diện
- 17. Ruby 'require' với biểu thức ký tự đại diện
- 18. sử dụng SED với ký tự đại diện
- 19. Ký tự đại diện so với phương pháp chung
- 20. Regex tiêu cực lookbehinds với một ký tự đại diện
- 21. Sao chép nhiều tệp bằng ký tự đại diện/đệ quy bằng Wix
- 22. Ký tự đại diện LIKE với nhiều trường và không gian trong MYSQL
- 23. Xóa tệp bằng ký tự đại diện - exec và hủy liên kết
- 24. Câu hỏi về ký tự đại diện morphia mongoDB
- 25. Chuyển đổi các ký tự đại diện shell thành regex
- 26. container thử nghiệm ký tự đại diện để mstest. exe
- 27. Ký tự đại diện dấu chấm Mongodb dot?
- 28. Sử dụng ký tự đại diện trong java classpath
- 29. Ký tự đại diện trong tên cột cho MySQL
- 30. ký tự đại diện trong các tuyến đường mvc asp.net
Lưu ý rằng 'DirectoryInfo' cũng có' EnumerateFiles() '. – TrueWill
Trong trường hợp bất cứ ai đang tự hỏi tại sao câu trả lời này là như vậy tương tự như câu trả lời được chấp nhận, đó là bởi vì câu trả lời chấp nhận đã được viết lại trong ánh sáng này. Đó là một sự xấu hổ vì sử dụng 'DirectoryInfo.GetFiles()' (đó là câu trả lời gốc) là cách duy nhất để làm điều đó cho các phiên bản trước của .NET. –