您知道在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. 使用通配符删除使用python glob模块的文件
- 3. 如何使用通配符删除PostgreSQL中的多个表格
- 4. 在tar中删除文件,使用通配符和异常
- 5. 使用通配符卡在DOS中删除文件夹
- 6. Wildfly CLI使用通配符删除
- 7. SVN使用通配符删除?
- 8. 使用通配符删除DOS目录
- 9. 使用jQuery/PHP删除通配符
- 10. 从文本文件中删除多个字符使用C
- 11. 批量删除文件夹中的所有文件使用通配符路径
- 12. 如何删除不匹配通配符的文件?
- 13. 使用tr删除多个文件中的换行符?
- 14. 使用powershell从文件中删除多个字符串
- 15. CMD删除文件用通配符子目录
- 16. 使用多个文件上传时删除单个文件Carrierwave
- 17. 删除多个文件
- 18. Python - 删除多个文件
- 19. 写一个批处理文件来删除带有通配符的文件
- 20. 指向使用通配符到文件夹的多个子域
- 21. 使用多个通配符的.csv文件名
- 22. 在vi编辑多个文件使用通配符
- 23. 在AIX中使用通配符尾多个文件
- 24. 使用通配符生成多个主文件
- 25. ftp使用通配符的多个新文件
- 26. 使用通配符匹配文件
- 27. 使用sed从文本文件中删除多个文件名
- 28. 通配符单个文件
- 29. 在更新脚本通配符删除文件
- 30. 如何递归删除TFS构建中的通配符文件?
请注意'DirectoryInfo'也有'EnumerateFiles()'。 – TrueWill 2015-10-27 17:29:13
如果有人想知道为什么这个答案和被接受的答案非常相似,那是因为接受的答案已经根据这个被重写了。这是一个耻辱,因为使用'DirectoryInfo.GetFiles()'(这是最初的答案)是对早期版本.NET执行此操作的唯一方法。 – 2017-05-09 10:58:47