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