删除具有特定名称和动态文件扩展名的文件

时间:2015-12-29 10:02:59

标签: c#

如何使用动态文件扩展名搜索现有文件并通过Regex将其删除?

var reg = new Regex(@"\.jpg|\.jpeg|\.png|\.gif|\.bmp");

我可以提供文件名但我不完全知道文件扩展名。

Ex:string fileName = "img01";。我想删除这些图片:img01.jpgimg01.jpegimg01.pngimg01.gifimg01.bmp

你能给我一个样本吗?

p / s:我不想在文件夹中获取具有特定扩展名的所有文件,并使用循环删除它。

1 个答案:

答案 0 :(得分:6)

您可以使用LINQ和TPL

执行此操作
var reg = new Regex(@"(\.jpg|\.jpeg|\.png|\.gif|\.bmp)$");

Directory.EnumerateFiles(@"C:\temp")
         .Where(file => reg.Match(file).Success).AsParallel()
         .ForAll(File.Delete)

或只是LINQ

var reg = new Regex(@"(\.jpg|\.jpeg|\.png|\.gif|\.bmp)$");

Directory.EnumerateFiles(@"C:\temp")
         .Where(file => reg.Match(file).Success).ToList()
         .ForEach(File.Delete)