以编程方式删除日志文件
本文关键字:日志 文件 删除 方式 编程 | 更新日期: 2023-09-27 18:09:39
我有一个保存日志文件的静态文件夹路径。我的问题是,不是手动删除,我如何定期以编程方式删除它们。
我喜欢c#代码
File.Delete(@"some_path_to_file");
编辑:如果你想查看目录中的所有文件,你可以使用
DirectoryInfo dir = new DirectoryInfo("your static folder path");
foreach (FileInfo f in dir.GetFiles())
{
File.Delete(f.FullName);
}
如果你需要"定期"做这件事,你可以利用石英。. NET调度器调用此作业。设置起来很容易。
根据前面的答案,这是我的需求(大IIS日志文件快把我逼疯了!):
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LogFileDeleter
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo dir = new DirectoryInfo("c:''inetpub''logs''logfiles''w3svc1");
DateTime testDate = DateTime.Now.AddDays(-5);
foreach (FileInfo f in dir.GetFiles())
{
DateTime fileAge = f.LastWriteTime;
if (fileAge < testDate) {
Console.WriteLine("File " + f.Name + " is older than today, deleted...");
File.Delete(f.FullName);
}
//Console.ReadLine(); //Pause -- only needed in testing.
}
}
}
}
应该很明显,但它只删除超过5天的文件,并且只删除W3SVC1目录中的文件。
try
{
if(File.Exists(filePath))
{
File.Delete(filePath);
}
}
catch{}