以编程方式删除日志文件

本文关键字:日志 文件 删除 方式 编程 | 更新日期: 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{}