您知道在Linux中很容易,但我不能理解如何在Windows上的C#中執行此操作。我想刪除所有匹配通配符f*.txt
的文件。我該如何去做呢?使用通配符刪除多個文件
57
A
回答
117
可以使用DirectoryInfo.EnumerateFiles
function:
var dir = new DirectoryInfo(directoryPath);
foreach (var file in dir.EnumerateFiles("f*.txt")) {
file.Delete();
}
(當然,你可能會想加入錯誤處理)
8
您可以使用帶通配符過載的Directory.GetFiles方法。這將返回所有符合您的模式的文件名。然後您可以刪除這些文件。
33
我知道這已經回答了很好的答案,但在.NET 4.0和更高版本中有一個替代。使用Directory.EnumerateFiles()
,即:
foreach (string f in Directory.EnumerateFiles(myDirectory,"f*.txt"))
{
File.Delete(f);
}
的DirectoryInfo.GetFiles()
的缺點是,它返回的文件列表 - 其中99.9%的時間是偉大的。缺點是如果該文件夾包含數以萬計的文件(這是罕見的),那麼它變得非常慢,通過匹配文件枚舉要快得多。
相關問題
- 1. 如何使用通配符刪除C中的多個文件?
- 2. 如何使用通配符刪除多個文件
- 3. 使用通配符刪除使用python glob模塊的文件
- 4. 如何使用通配符刪除PostgreSQL中的多個表格
- 5. 在tar中刪除文件,使用通配符和異常
- 6. 使用通配符卡在DOS中刪除文件夾
- 7. 使用通配符刪除文件 - exec vs unlink
- 8. 使用通配符刪除DOS目錄
- 9. SVN使用通配符刪除?
- 10. Wildfly CLI使用通配符刪除
- 11. 使用jQuery/PHP刪除通配符
- 12. 從文本文件中刪除多個字符使用C
- 13. 批處理:如何在一個文件夾中刪除多個文件時指定多個通配符
- 14. 批量刪除文件夾中的所有文件使用通配符路徑
- 15. 如何刪除不匹配通配符的文件?
- 16. 使用powershell從文件中刪除多個字符串
- 17. 使用tr刪除多個文件中的換行符?
- 18. .bat文件使用通配符查找和刪除字符串的一部分
- 19. CMD刪除文件用通配符子目錄
- 20. 使用多個文件上傳時刪除單個文件Carrierwave
- 21. 刪除多個文件
- 22. Python - 刪除多個文件
- 23. 寫一個批處理文件來刪除帶有通配符的文件
- 24. Logstash不使用多個文件通配符路徑工作
- 25. ftp使用通配符的多個新文件
- 26. 使用通配符生成多個主文件
- 27. 指向使用通配符到文件夾的多個子域
- 28. 在AIX中使用通配符尾多個文件
- 29. 使用多個通配符的.csv文件名
- 30. 在vi編輯多個文件使用通配符
請注意'DirectoryInfo'也有'EnumerateFiles()'。 – TrueWill 2015-10-27 17:29:13
如果有人想知道爲什麼這個答案和被接受的答案非常相似,那是因爲接受的答案已經根據這個被重寫了。這是一個恥辱,因爲使用'DirectoryInfo.GetFiles()'(這是最初的答案)是對早期版本.NET執行此操作的唯一方法。 – 2017-05-09 10:58:47