当前位置: 首页 > news >正文

Go实现Windows文件按后缀自动分类整理工具

1 工具简介

在日常学习和项目整理过程中,一些资料目录里经常会堆积大量不同类型的文件,例如 Word、Excel、PDF、图片、压缩包、代码文件等。如果全部手动分类,不仅效率低,而且容易漏掉文件。

本文整理一个使用 Go 语言编写的 Windows 文件整理小工具。该工具可以根据文件后缀名自动创建分类文件夹,并将文件移动到对应目录中。同时,程序会在目标目录下创建一个以当前日期命名的文件夹,方便保留每次整理的时间标记。

1.1 工具功能

这个工具主要完成以下工作:

① 读取指定目录中的文件。
② 根据文件后缀判断文件类型。
③ 在目标目录下创建当前日期文件夹。
④ 在日期文件夹中按后缀创建分类子目录。
⑤ 将文件移动到对应的后缀分类目录中。
⑥ 支持通过配置文件设置需要跳过的文件、文件类型和需要处理的扩展名。

1.2 适用场景

这个工具适合以下场景:

① 整理需要将资源目录按照文件类型的不同进行整理。
② 需要保留每次文件整理的日期。

不建议直接用于系统目录、重要生产目录或没有备份的关键数据目录。

2 运行环境

2.1 系统环境

当前工具主要面向 Windows 环境使用,原始测试环境为:

Windows 11

程序采用 Go 语言编写,编译后为 Windows 下可直接运行的.exe文件。

2.2 程序文件

编译后的程序文件名为ogz.exe,存储在dist文件夹下:

ogz.exe

使用时可以将ogz.exe放在一个固定目录中,不过为使用方便建议放在系统环境变量中定义的目录中,例如:

C:\Users\username\command

后续默认配置文件也会放在如下目录下

C:\MyProject\ogz\config.json

3 配置文件

3.1 初始化配置文件

第一次使用前,需要先生成默认配置文件。在命令行窗口中执行:

ogz init

执行成功后,程序会创建默认配置文件:

C:\MyProject\ogz\config.json

3.2 配置文件结构

默认配置文件内容如下:

{"files":["此电脑","回收站","控制面板"],"types":[],"extensions":[".txt",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".md",".jpg",".jpeg",".png",".gif",".bmp",".tif",".svg",".webp",".ico",".mp3",".wav",".aac",".ogg",".flac",".m4a",".mp4",".avi",".mkv",".mov",".wmv",".flv",".webm",".zip",".tar",".tar.gz",".tar.xz",".rar",".gz",".7z",".bz2",".html",".htm",".css",".js",".json",".xml",".php",".asp",".jsp",".sql",".db",".sqlite",".mdb",".accdb",".py",".java",".cpp",".c",".rb",".go",".exe",".caj",".msi"]}

3.3 配置字段说明

配置文件中包含三个主要字段:

字段作用
files按“完整文件名”跳过
types按“后缀名”跳过
extensions允许分类的后缀名白名单

4 文件分类方法

4.1 基本命令格式

ogz.exe所在目录下打开命令行窗口,执行:

ogz.exe <class_dir_path> <config_path>

参数说明如下:

参数说明
class_dir_path需要整理的文件夹路径
config_path配置文件路径,可选参数

如果没有传入config_path,程序会使用默认配置文件:

C:\MyProject\ogz\config.json

4.2 使用示例

假设需要整理的文件夹为:

D:\TempFiles

进入目标文件夹并进入cmd:

ogz.

如果想使用自定义配置文件,可以执行:

ogz.C:\MyProject\ogz\config.json

其中“.”表示当前文件夹的路径

4.3 整理后的目录结构

程序运行后,会在被整理目录下创建一个当前日期文件夹。日期格式类似:

20260706

整理后的目录结构大致如下:

D:\TempFiles └── 20260706 ├── pdf ├── docx ├── xlsx ├── png ├── zip └── py

不同后缀的文件会被移动到对应的分类文件夹中。

5 注意事项

5.1 不处理文件夹

当前工具只对文件进行分类处理,不对文件夹进行递归整理。

也就是说,如果目标目录中存在子文件夹,程序不会继续进入子文件夹内部整理文件。

5.2 不建议整理 C 盘目录

为了避免对系统文件造成影响,程序不允许对 C 盘中的文件进行分类处理。

此规则主要为了防止误操作。文件移动操作具有一定风险,尤其是在系统盘、软件安装目录或桌面同步目录中运行时,更应该谨慎。

5.3 运行前建议备份

由于程序对文件的整理为移动处理并非复制处理,因此在第一次使用时,建议先找一个测试文件夹进行验证。确认分类结果符合预期后,再对真实资料目录使用。

6 工具优点与局限

6.1 工具优点

这个工具的优点主要有:

① 使用简单,只需要一条命令即可整理文件。
② 配置文件可修改,方便扩展文件后缀。
③ 按日期归档,便于追踪每次整理结果。
④ 使用 Go 编译为 exe 后,不依赖额外运行环境。
⑤ 适合处理桌面、下载目录、学习资料目录等轻量场景。
⑥ 仅处理指定文件夹下的第一层文件,不递归子文件夹,避免误操作系统文件。

6.2 当前局限

作为练手项目,当前版本存在以下局限性:

① 不递归处理子文件夹。
② 不适合处理系统目录。
③ 没有图形界面,主要通过命令行使用。
④ 文件移动后如果想撤销,需要手动还原。
⑤ 仅支持将文件按后缀整理到相应的文件夹中,不支持多分类方式的整理
⑥ 带后缀的文件夹也会被作为文件参与整理。

7 程序源码

7.1 下载地址

源码和程序包可以通过以下链接获取:

百度网盘:https://pan.baidu.com/s/1NQ0cZRpnPgzVUR0LH385BA?pwd=qrcd 提取码:qrcd 文件名:ogz.zip

8 总结

这是一个基于 Go 语言实现的 Windows 文件自动分类工具。它可以根据文件后缀对目标目录中的文件进行分类,并将结果放入当前日期目录中。

对于桌面、下载目录、临时资料目录这类经常变得混乱的位置,这类小工具可以明显减少手动整理成本。实际使用时,需要特别注意测试、备份和目录选择,避免在重要目录或系统目录中直接运行。

http://www.jsqmd.com/news/1138310/

相关文章:

  • 茶麸养发和普通养发有什么区别?相信爱美之人都想知道的秘密
  • openclaw-大模型配置
  • 【5天实战】从零构建AI-Native组织:飞书+Bot+Gitee全链路自动化实战指南—FAQ与附录
  • 从0到1:企业级AI项目迭代日记 Vol.61|记忆不是越多越好,装一道门比装满更重要
  • 小说下载器终极指南:一键保存200+小说网站,打造你的私人数字图书馆
  • 智能一键下载:专业级电子课本解析工具如何解决教师资源获取难题
  • 第 5 篇:节点重启自愈——两阶段模块恢复机制
  • 区位码转汉字机内码
  • 朗伯光度立体法 Python 3.11 实现:从 3 光源图像到法线贴图的完整流程
  • Mac鼠标滚动救星:用Mos告别卡顿,实现触控板般的丝滑体验
  • 第 二 章线性代数
  • 贺存:深耕脑机接口前沿,以硬核自研技术,点亮青少年科创未来
  • 欧文·亚隆的《当尼采哭泣》(When Nietzsche Wept)精简总结
  • 财务报销终端怎么做审计留痕:附件目录、浏览器后台和远程维护三条线
  • ChatGPT 核心技术 RLHF 实战解析:从 TAMER 到 PPO 的 3 阶段训练流程
  • 性价比高的看广告服务商哪家好
  • FastAPI 请求头与 Cookie:Web 世界的“身份证”与“通行证”
  • 如何快速配置Qwen图像编辑模型:面向AI创作者的完整指南
  • clickhouse24.9.2.42单机版linux安装
  • AI时代,如何从“写代码”小白变身大模型高手?收藏这份程序员转型指南
  • 城市生命线智慧管网建设落地指南|北京益豪时代一站式解决地下管网安全管控难题
  • 从拆解到设计:基于ME4057与CN5711的5V/1A充电宝LED灯PCB布局3要点
  • 基于 STM32 的实验室药品自动存取与库存管理系统设计
  • AI视觉落地实战:GlowUp AI 全场景个人形象定制技术解析与场景测评
  • 帮正在填志愿的学生和家长,想清楚“要不要学计算机、怎么选专业、报哪所大学” 这三件事。它不是标准答案,而是一份有态度的参考。
  • 2026揭阳财税公司哪家专业,本土全品类电商 TOP实力深度解析
  • 3 种点云补全网络对比:PF-Net vs PCN vs TopNet,在 ShapeNet 上的 F-Score 评测
  • 153、LangChain Chain:LLMChain、SequentialChain、RouterChain 的链式编排
  • Alpha Go的前世今生
  • F. A Bit Odd-从零开始的博弈题解 [特殊字符](Codeforces 2241)