12 个解决方案
#1
GetCreationTime()
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留
#2
1、使用Directory.GetFiles()获得所有文件
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除
实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除
实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
#3
楼上正解 学习了
#4
不能删除?你看一下有没有删除的权限吧
#5
#6
哈哈,可以将2楼的代码转化成Windows Service这样就让OS自动删除了
不能删除:1.没有权限
2.文件在别的地方使用,不允许删除
不能删除:1.没有权限
2.文件在别的地方使用,不允许删除
#7
up
#8
2楼正解
#9
二楼 可以 再加上定时执行如下
//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}
//删除一天前的文件的方法
void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
}
//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}
//删除一天前的文件的方法
void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
}
#10
按照二楼的思路可以实现.
#11
问题解决了!!
#12
谢谢各位大侠
#1
GetCreationTime()
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留
#2
1、使用Directory.GetFiles()获得所有文件
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除
实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除
实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
#3
楼上正解 学习了
#4
不能删除?你看一下有没有删除的权限吧
#5
#6
哈哈,可以将2楼的代码转化成Windows Service这样就让OS自动删除了
不能删除:1.没有权限
2.文件在别的地方使用,不允许删除
不能删除:1.没有权限
2.文件在别的地方使用,不允许删除
#7
up
#8
2楼正解
#9
二楼 可以 再加上定时执行如下
//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}
//删除一天前的文件的方法
void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
}
//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}
//删除一天前的文件的方法
void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.CreationTime < DateTime.Today)
fi.Delete();
}
}
#10
按照二楼的思路可以实现.
#11
问题解决了!!
#12
谢谢各位大侠