📜  c# 删除超过 x 个月的文件 - C# (1)

📅  最后修改于: 2023-12-03 14:39:45.449000             🧑  作者: Mango

C# 删除超过 X 个月的文件

有时候我们需要清理本地的一些旧文件,这里提供一个 C# 的代码片段来帮助你删除超过 X 个月的文件。

实现思路
  1. 遍历指定路径下的所有文件
  2. 获取每个文件的创建时间
  3. 判断当前时间和创建时间之间相差的月份是否超过 X 个月
  4. 如果超过 X 个月,则删除该文件
代码实现
using System;
using System.IO;

public static void DeleteOldFiles(string folderPath, int months)
{
    DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);

    foreach (FileInfo fileInfo in directoryInfo.GetFiles())
    {
        if (DateTime.Now.Subtract(fileInfo.CreationTime).TotalDays > months * 30)
        {
            fileInfo.Delete();
            Console.WriteLine("[DeleteOldFiles] Deleted file: " + fileInfo.FullName);
        }
    }
}
使用方法

使用该函数需要传入两个参数:文件所在文件夹路径和超过的月份数。

string folderPath = @"C:\Users\User\Desktop\OldFiles";
int months = 6;

DeleteOldFiles(folderPath, months);

这段代码会删除 C:\Users\User\Desktop\OldFiles 文件夹下超过 6 个月的文件,并在控制台输出被删除的文件路径。

总结

这个 C# 代码片段可以帮助你自动化地清理超过 X 个月的旧文件。但是需要注意的是,在使用该函数时请谨慎操作,避免误删除重要文件。