C# 中通过通配符查找有特定名称的文件并删除文件

C# 中通过通配符查找有特定名称的文件并删除文件

问题背景

在C#的使用过程中,在一个文件夹中有很多日期形式的图片,文件名称例如:20220331-102820-220.JPG。这些图片的名称是日期的格式,每张图片之间有一秒的时间间隔,需要通过C#找到对应时间的图片文件。文件名称后面的几位,如“-220”是多少不重要,所以计划通过通配符的形式根据文件名前面的日期格式获取对应的文件的全名。然后拼接出文件的绝对路径即可删除文件。

解决方法

可以先通过C#中获取时间的方式将文件名称的前缀处理出来。例如把文件的前缀处理成“20220331-102820”的形式。然后通过下面的代码获取文件的全名。

string filepath = @"D:\泡沫图片";
string filename = "20220331-102820";
string[] searchfile = Directory.GetFiles(filepath, filename + "*.JPG")
                                         .Select(path => Path.GetFileName(path))
                                         .ToArray();

匹配到的所有符合文件名称的文件存放在searchfile数组中,当只有一个文件时,数组里面就一个对象。
此时searchfile数组中的索引为0的位置的对象为“20220331-102820-220.JPG”。
此时将获取的文件名称加上文件夹绝对路径的前缀就是文件的绝对路径。

想要删除文件需要通过下面的形式

string deleteImagePath = filepath +"\\"+ searchfile[0];
if (File.Exists(deleteImagePath))
{
    File.Delete(deleteImagePath);
}

通过这种形式即可删除对应的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值