如何使用动态文件扩展名搜索现有文件并通过Regex将其删除?
var reg = new Regex(@"\.jpg|\.jpeg|\.png|\.gif|\.bmp");
我可以提供文件名但我不完全知道文件扩展名。
Ex:string fileName = "img01";
。我想删除这些图片:img01.jpg
,img01.jpeg
,img01.png
,img01.gif
,img01.bmp
。
你能给我一个样本吗?
p / s:我不想在文件夹中获取具有特定扩展名的所有文件,并使用循环删除它。
答案 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)