如何根据文件的创建时间或者修改时间,删除文件???(急。。。。)

wcbenben 2008-10-13 04:54:16
要删除的对象是数据库的备份文件.bak
现在要做的是根据一个时间,删除这个时间之前创建的所有数据库备份文件。
在C#的winform里怎么实现?
...全文
449 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcbenben 2008-10-13
  • 打赏
  • 举报
回复
因为用的是二楼的方法,他也是第一个来的!所以大部分分都给他了!!
不过谢谢大家关注!
wcbenben 2008-10-13
  • 打赏
  • 举报
回复
很好 很强大 问题解决了!谢谢!
jacksu19 2008-10-13
  • 打赏
  • 举报
回复
换个思路,备份数据时,给每一个备份文件都建一个按备份日期规律分配的目录名。

删除的时候,就删除这个那些目录中的文件,在删除目录。
我姓区不姓区 2008-10-13
  • 打赏
  • 举报
回复

foreach (string file in Directory.GetFiles("D:\\","*.bak",SearchOption.AllDirectories))
{
if (File.GetCreationTime(file) < new DateTime(2008, 8, 8, 15, 30, 0))
File.Delete(file);
}

wcbenben 2008-10-13
  • 打赏
  • 举报
回复
foreach (FileInfo fi in di.GetFiles(".bak"))
这一步需要加上 *.bak
豆丁_ 2008-10-13
  • 打赏
  • 举报
回复
using System.IO;

void delFile()
{
string filePath=@"d:\";
DirectoryInfo di = new DirectoryInfo(filePath);
FileInfo[] bakFiles = di.GetFiles("*.bak");
DateTime dTime=new DateTime(2007,6,6); //设置一个时间段

for (int i = 0; i < bakFiles.Length; i++)
{
if (bakFiles[i].LastWriteTime < dTime)//获得上次写入时间
{
File.Delete(Path.Combine(filePath, bakFiles[i].ToString()));//删除符合条件的文件
}
//bakFiles[i].LastAccessTime---获得文件上次访问时间
//bakFiles[i].LastWriteTime----获得文件上次写入时间
}
}

llxzj60 2008-10-13
  • 打赏
  • 举报
回复
DirectoryInfo dicInfo = new DirectoryInfo(filePath);
FileInfo[] fileInfo = dicInfo.GetFiles();
DateTime[] dateTime = new DateTime[fileInfo.Length];
for (int i=0;i<fileInfo.Length;i++)
{
dateTime[i] = fileInfo[i].LastWriteTime;//获取最后修改时间,判断这个时间太做应该可以吧

}
zzyhuian06142 2008-10-13
  • 打赏
  • 举报
回复

DirectoryInfo di = new DirectoryInfo(路径);
foreach (FileInfo fi in di.GetFiles(".bak"))
{
if (fi.CreationTime <= 时间)
{
fi.Delete();
}
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧