# 文件夹容量监视清理工具 **Repository Path**: xa87/DirCheck ## Basic Information - **Project Name**: 文件夹容量监视清理工具 - **Description**: 监视某文件夹,超过指定容量后自动清理更早的文件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Folder Capacity Monitor (文件夹容量监视工具) 一个基于 .NET 10 AOT 编译的 Windows 原生单文件工具,开机后按配置自动监控指定目录的容量,超限时自动清理旧文件。 ## 功能 - **容量监控** — 每小时检测一次目标目录的总大小 - **超限告警** — 超出配置上限时在控制台输出红色告警,并写入日志文件 - **自动清理** — 按文件的**创建时间**删除超过指定天数的文件(最老优先),直到容量达标 - **二次兜底** — 若年龄清理后仍超限,则无视时间继续删除最老文件 - **空目录清理** — 删除文件后自动移除空文件夹 - **AOT 原生编译** — 单 exe 文件,无需安装 .NET 运行时 ## 使用方法 ### 1. 下载 / 编译 ```bash # 编译(需要 .NET 10 SDK) dotnet publish -c Release -o publish ``` 发布后得到 `publish/FolderMonitor.exe`(约 2.7 MB)。 ### 2. 配置 将 `publish` 目录拷贝到目标机器,在 **exe 同目录**下创建 `config.json`: ```json { "Directory": "D:\\要监控的目录路径", "MaxSizeMB": 500, "CleanupDays": 30 } ``` | 字段 | 说明 | |---|---| | `Directory` | 要监控的绝对路径 | | `MaxSizeMB` | 容量上限(MB),超出此值触发告警 + 清理 | | `CleanupDays` | 文件保留天数,超过此天数的文件在超限时会被删除(按创建时间) | 首次运行若配置不存在,程序会自动生成默认模板并退出,编辑后重启即可。 ### 3. 开机自启 使用 Windows 任务计划程序: 1. 打开 `taskschd.msc` → 创建基本任务 2. 触发器:**计算机启动时** 3. 操作:**启动程序** → 选择 `FolderMonitor.exe` 4. 建议勾选 **"使用最高权限运行"**,避免因权限不足导致删除失败 ### 4. 运行日志 程序运行日志写入 exe 同目录下的 `FolderMonitor.log`,可用记事本随时查看。 ## 技术栈 - .NET 10 + Native AOT (`PublishAot=true`) - `System.Text.Json` 源码生成器(AOT 兼容) - 无任何第三方依赖 ## 许可证 MIT