最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C#實(shí)現(xiàn)的自動(dòng)清理過(guò)期文件的解決方案

 更新時(shí)間:2026年03月31日 08:45:26   作者:StevenChen85  
本文提供了一個(gè)用C#實(shí)現(xiàn)的自動(dòng)清理過(guò)期文件的解決方案,代碼可刪除指定目錄中超過(guò)30天的文件,支持子目錄掃描,并包含完善的異常處理和日志記錄功能,需要的朋友可以參考下

需要用 C# 實(shí)現(xiàn)一個(gè)清理指定目錄(F:\OvlData\TestResult\Recipes\20\20251212143046),只保留最近 30 天文件,自動(dòng)刪除過(guò)期文件 的方法。給你寫(xiě) 完整可直接運(yùn)行、健壯、帶日志、可復(fù)用 的代碼。

C# 實(shí)現(xiàn):保留 30 天內(nèi)文件,自動(dòng)刪除舊文件

功能說(shuō)明

  • 傳入目錄路徑,自動(dòng)掃描所有文件
  • 判斷文件最后寫(xiě)入時(shí)間(最常用)
  • 超過(guò) 30 天的文件直接刪除
  • 支持子目錄(可選開(kāi)關(guān))
  • 帶異常處理 + 控制臺(tái)日志
  • 適配你的路徑:F:\OvlData\TestResult\Recipes\20\20251212143046

完整代碼(可直接復(fù)制運(yùn)行)

using System;
using System.IO;
public class FileCleaner
{
    /// <summary>
    /// 清理目錄:保留最近30天的文件,刪除更早的文件
    /// </summary>
    /// <param name="targetDir">要清理的目錄</param>
    /// <param name="includeSubDir">是否包含子文件夾</param>
    public static void CleanFilesOlderThan30Days(string targetDir, bool includeSubDir = true)
    {
        try
        {
            // 1. 判斷目錄是否存在
            if (!Directory.Exists(targetDir))
            {
                Console.WriteLine($"目錄不存在:{targetDir}");
                return;
            }
            // 2. 計(jì)算30天前的時(shí)間點(diǎn)
            DateTime limitTime = DateTime.Now.AddDays(-30);
            Console.WriteLine($"保留【{limitTime:yyyy-MM-dd HH:mm:ss}】之后的文件");
            // 3. 獲取所有文件
            SearchOption searchOption = includeSubDir ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
            string[] files = Directory.GetFiles(targetDir, "*.*", searchOption);
            int deleteCount = 0;
            // 4. 遍歷刪除超過(guò)30天的文件
            foreach (string file in files)
            {
                try
                {
                    FileInfo fi = new FileInfo(file);
                    // 判斷:最后修改時(shí)間 是否早于30天前
                    if (fi.LastWriteTime < limitTime)
                    {
                        fi.Delete();
                        deleteCount++;
                        Console.WriteLine($"已刪除:{file}");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"刪除失?。簕file},原因:{ex.Message}");
                }
            }
            Console.WriteLine($"\n清理完成!共刪除文件:{deleteCount} 個(gè)");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"清理異常:{ex.Message}");
        }
    }
    // ==================== 調(diào)用示例 ====================
    public static void Main()
    {
        // 你的目標(biāo)目錄
        string path = @"F:\OvlData\TestResult\Recipes\20\20251212143046";
        // 執(zhí)行清理(true = 包含子目錄)
        CleanFilesOlderThan30Days(path, true);
    }
}

使用說(shuō)明(超級(jí)簡(jiǎn)單)

  1. 直接復(fù)制代碼到你的項(xiàng)目
  2. 運(yùn)行 Main() 即可自動(dòng)清理
  3. 默認(rèn)規(guī)則:
    • 最后修改時(shí)間 判斷
    • 保留 最近 30 天
    • 刪除 30 天以前 的所有文件
    • 包含子文件夾

可自定義選項(xiàng)

你可以輕松修改:

// 保留15天
DateTime.Now.AddDays(-15);
// 不清理子文件夾
CleanFilesOlderThan30Days(path, false);
// 按創(chuàng)建時(shí)間判斷(不常用)
if (fi.CreationTime < limitTime)

適合你的場(chǎng)景

  • 測(cè)試結(jié)果文件
  • 日志文件
  • 自動(dòng)生成的報(bào)告
  • 定時(shí)清理目錄

總結(jié)

  • 代碼安全、帶異常處理,不會(huì)因?yàn)橐粋€(gè)文件刪不掉就崩潰
  • 輸出日志清晰,方便你查看刪除了哪些
  • 完全適配你提供的路徑:F:\OvlData\TestResult\Recipes\20\20251212143046

以上就是使用C#實(shí)現(xiàn)的自動(dòng)清理過(guò)期文件的解決方案的詳細(xì)內(nèi)容,更多關(guān)于C#自動(dòng)清理過(guò)期文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#泛型集合Dictionary<K,V>的使用方法

    C#泛型集合Dictionary<K,V>的使用方法

    這篇文章主要介紹了C#泛型集合Dictionary<K,V>的使用方法,本文講解了Dictionary的多種操作方法,需要的朋友可以參考下
    2014-10-10
  • C#中Byte轉(zhuǎn)換相關(guān)的函數(shù)

    C#中Byte轉(zhuǎn)換相關(guān)的函數(shù)

    這篇文章主要介紹了C#中Byte轉(zhuǎn)換相關(guān)的函數(shù)介紹,非常具有參考借鑒價(jià)值,特此分享到腳本之家平臺(tái)供大家學(xué)習(xí)
    2016-05-05
  • c#的params參數(shù)使用示例

    c#的params參數(shù)使用示例

    這篇文章主要介紹了c#的params參數(shù)使用示例,需要的朋友可以參考下
    2014-04-04
  • C#對(duì)DataTable里數(shù)據(jù)排序的方法

    C#對(duì)DataTable里數(shù)據(jù)排序的方法

    在日常開(kāi)發(fā)過(guò)程中,有一個(gè)DataTable集合,里面有很多字段,現(xiàn)在要求針對(duì)某一列進(jìn)行排序,如果該列為數(shù)字的話,進(jìn)行ASC即可實(shí)現(xiàn),但是該字段類(lèi)型為string,此時(shí)排序就有點(diǎn)不正確了
    2013-11-11
  • C#創(chuàng)建自定義控件及添加自定義屬性和事件使用實(shí)例詳解

    C#創(chuàng)建自定義控件及添加自定義屬性和事件使用實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于C#創(chuàng)建自定義控件及添加自定義屬性和事件使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C# winform自定義翻頁(yè)控件詳解

    C# winform自定義翻頁(yè)控件詳解

    這篇文章主要為大家詳細(xì)介紹了C# winform自定義翻頁(yè)控件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • c#調(diào)用jar包的方法步驟(非常詳細(xì))

    c#調(diào)用jar包的方法步驟(非常詳細(xì))

    這篇文章主要給大家介紹了關(guān)于c#調(diào)用jar包的方法步驟,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C#實(shí)現(xiàn)快速將數(shù)據(jù)寫(xiě)入Excel單元格

    C#實(shí)現(xiàn)快速將數(shù)據(jù)寫(xiě)入Excel單元格

    這篇文章主要為大家詳細(xì)介紹了如何使用C#實(shí)現(xiàn)快速將數(shù)據(jù)寫(xiě)入Excel單元格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C#函數(shù)式編程中的遞歸調(diào)用之尾遞歸詳解

    C#函數(shù)式編程中的遞歸調(diào)用之尾遞歸詳解

    這篇文章主要介紹了C#函數(shù)式編程中的遞歸調(diào)用詳解,本文講解了什么是尾遞歸、尾遞歸的多種方式、尾遞歸的代碼實(shí)例等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • DevExpress中GridControl列轉(zhuǎn)義的實(shí)現(xiàn)方法

    DevExpress中GridControl列轉(zhuǎn)義的實(shí)現(xiàn)方法

    這篇文章主要介紹了DevExpress中GridControl列轉(zhuǎn)義的實(shí)現(xiàn)方法,在項(xiàng)目開(kāi)發(fā)中有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

昭苏县| 呈贡县| 平和县| 禹城市| 安新县| 临沂市| 邹城市| 美姑县| 泸定县| 衡山县| 三亚市| 江西省| 博乐市| 深圳市| 临朐县| 灯塔市| 若羌县| 城步| 靖边县| 泸溪县| 鹤壁市| 阿坝| 灵川县| 星座| 华宁县| 武邑县| 聂荣县| 石景山区| 赞皇县| 湘潭县| 五常市| 霍邱县| 武平县| 通河县| 开鲁县| 永吉县| 海门市| 松阳县| 南汇区| 敖汉旗| 独山县|