风中追雨 2015-10-23 19:39 采纳率: 100%
浏览 1656

c# 根据文件夹名称删除盘符下文件

e盘下有录像文件,每天新建一个文件夹,名称格式如下“yyyyMMdd”,
我想做个程序,根据当前时间判断文件名,删除三天前的文件夹,求大神帮忙!!新号没分,好人平安

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 05:32
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这是一个简单的C#脚本,它将使用Windows API来删除指定日期范围内的所有文件。这个脚本需要管理员权限才能运行。

    using System;
    using System.IO;
    
    namespace DeleteOldFolders
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 获取系统时间戳
                DateTime now = DateTime.Now;
                int daysAgo = 3; // 删除3天前的文件
    
                // 计算要删除的日期
                DateTime threeDaysAgo = now.AddDays(-daysAgo);
    
                string folderPath = @"E:\录像\yyyyMMdd"; // 要删除的文件夹路径
    
                // 创建文件夹对象
                DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
    
                // 遍历文件夹中的所有子文件和子文件夹
                foreach (FileInfo file in directoryInfo.GetFiles())
                {
                    if (file.LastWriteTime >= threeDaysAgo)
                        continue; // 如果文件创建于3天之前,则跳过
    
                    // 删除文件或文件夹
                    file.Delete();
                }
            }
        }
    }
    

    请注意,这个脚本可能不会删除所有在指定日期范围内创建的文件,因为它只能检查最后一个写入的时间,并且不能识别文件是否被其他应用程序修改了(例如,用户可能已经更改了文件内容)。如果你需要更精确地控制删除哪些文件,你可能需要使用更复杂的逻辑或者API来读取文件的属性。

    此外,这个脚本会直接覆盖掉目标文件夹里的文件,如果目标文件夹里有其他文件,它们可能会被覆盖。在实际应用中,你应该先备份源文件夹的内容,然后再执行此操作。

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了