1. 项目概述
作为一名长期被杂乱桌面困扰的开发者,我终于忍无可忍动手开发了这个WPF文件自动归档工具。它能帮你把散落在桌面、下载目录或任意指定路径下的文件自动分类到预设文件夹中,支持图片、视频、文档等20+常见文件类型。
这个工具最实用的地方在于:它不只是简单地按扩展名分类,还考虑了实际使用场景。比如设计稿(PSD/AI)和CAD图纸会被单独归类,而不会混在普通图片里;代码文件会区分前端(HTML/JS/CSS)和后端(Java/Python/C#);甚至还能识别虚拟机镜像和3D打印文件这些专业格式。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能设计
2.1 文件类型识别系统
核心是一个可扩展的文件类型字典,这是我经过多次迭代优化的版本:
csharp复制var fileTypeMapping = new Dictionary<string, List<string>>
{
// 图片类包含常见格式和设计源文件
{ "设计素材", new List<string> { ".psd", ".ai", ".cdr", ".eps" } },
{ "普通图片", new List<string> { ".jpg", ".png", ".gif" /*...*/ } },
// 代码文件按语言细分
{ "前端代码", new List<string> { ".html", ".css", ".js", ".ts" } },
{ "后端代码", new List<string> { ".cs", ".java", ".py" /*...*/ } }
};
提示:字典采用层级分类设计,同类格式按使用频率排序,这样在匹配时可以优先检查高频扩展名,提升检测速度。
2.2 智能归档策略
工具提供三种工作模式:
- 即时模式:监控文件夹变化,实时处理新增文件
- 定时模式:每天固定时间(如凌晨2点)自动整理
- 手动模式:右键点击文件夹触发整理
对于冲突处理,采用以下优先级:
- 同名文件:自动添加时间戳后缀(如"报告(20240315).docx")
- 重复文件:通过MD5校验确认内容是否相同
- 特殊文件:快捷方式(.lnk)会保持原始指向路径
