04 跟AI说了一句话,10分钟后一个文件批处理工具就做好了——全程没写一行代码
摘要:本文分享了一个利用AI编程工具(如Cursor)快速实现文件自动分类整理的实战案例。作者通过向AI清晰描述需求,在30秒内获得了完整的Python脚本代码,仅用10分钟就完成了127个文件的自动归类。文章详细展示了从需求描述、代码生成到实际运行的完整流程,并分析了AI编程在低风险场景下的应用策略,帮助读者建立对AI辅助编程的信任,将精力从重复编码转向更高价值的架构设计和学习。

起因
前两天整理电脑,发现桌面上散落了上百个各种文件:PDF合同、Word文档、截图、Excel表格。文件夹套文件夹,名字也乱七八糟——有的是"最终版(3).docx",有的是"IMG_20240713_143022.png"。
我想把它们按文件类型自动归类:所有PDF放到一个文件夹,图片放到另一个,文档放到第三个,其他放第四个。
要是以前,我肯定打开Python开始写代码了。但现在有了AI,我决定试试另一条路——让AI替我写。

第一步:跟AI描述需求
打开Cursor(或者你用的任何AI编程工具),把光标放到聊天框,我打了一段话:
我需要一个Python脚本,功能是:
1. 扫描指定目录下的所有文件
2. 按文件后缀自动分类:
- 图片(jpg, jpeg, png, gif, bmp, webp, svg)→ 移到 "图片" 文件夹
- 文档(pdf, doc, docx, xls, xlsx, ppt, pptx, txt)→ 移到 "文档" 文件夹
- 视频(mp4, avi, mov, mkv, wmv)→ 移到 "视频" 文件夹
- 压缩包(zip, rar, 7z, tar, gz)→ 移到 "压缩包" 文件夹
- 其他文件 → 移到 "其他" 文件夹
3. 支持处理子文件夹
4. 操作前先预览,问用户确认后再移动
5. 有进度条显示
打完这段话,我点了发送。前后不到30秒。
第二步:AI秒出代码
Cursor直接把完整代码吐出来了,大概80多行。我贴出来你看看:
import os
import shutil
from pathlib import Path
from collections import defaultdict
文件类型映射
CATEGORY_MAP = {
"图片": {".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg"},
"文档": {".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt", ".md"},
"视频": {".mp4", ".avi", ".mov", ".mkv", ".wmv", ".flv"},
"压缩包": {".zip", ".rar", ".7z", ".tar", ".gz"},
}
def scan_files(directory):
"""扫描目录下所有文件,按类型分组"""
files_by_category = defaultdict(list)
for root, _, files in os.walk(directory):
for filename in files:
filepath = Path(root) / filename
suffix = filepath.suffix.lower()
# 确定分类
category = "其他"
for cat, extensions in CATEGORY_MAP.items():
if suffix in extensions:
category = cat
break
files_by_category[category].append(filepath)
return files_by_category
def main():
target_dir = input("请输入要整理的目录路径: ").strip()
if not os.path.isdir(target_dir):
print("目录不存在!")
return
print(f"\n正在扫描 {target_dir} ...")
files_by_category = scan_files(target_dir)
# 显示预览
total_files = sum(len(files) for files in files_by_category.values())
print(f"\n找到 {total_files} 个文件:\n")
for category, files in sorted(files_by_category.items()):
if files:
print(f" 📁 {category}({len(files)} 个)")
for f in files[:5]:
print(f" - {f.name}")
if len(files) > 5:
print(f" ... 还有 {len(files) - 5} 个")
print()
# 确认
confirm = input("确认开始整理?(y/n): ").strip().lower()
if confirm != 'y':
print("已取消")
return
# 执行整理
for category, files in files_by_category.items():
if not files:
continue
category_dir = Path(target_dir) / category
category_dir.mkdir(exist_ok=True)
for i, filepath in enumerate(files, 1):
dest = category_dir / filepath.name
# 处理重名文件
if dest.exists():
stem = filepath.stem
suffix = filepath.suffix
counter = 1
while dest.exists():
dest = category_dir / f"{stem}({counter}){suffix}"
counter += 1
shutil.move(str(filepath), str(dest))
print(f"\r 整理中... [{i}/{len(files)}] {category}", end="")
print()
print(f"\n✅ 整理完成!共处理 {total_files} 个文件")
if name == "main":
main()
第三步:跑起来看看
我把它保存为 file_organizer.py,直接在终端里跑:
python file_organizer.py
输入我那个乱糟糟的目录路径,回车。程序扫描了2秒,列出来:
找到 127 个文件:
📁 图片(43 个)
- IMG_20240713_143022.png
- screenshot_001.jpg
...
📁 文档(38 个)
- 项目计划.docx
- 2024年终报告.pdf
...
📁 视频(5 个)
- 会议录制.mp4
...
📁 压缩包(12 个)
- 素材包.zip
...
📁 其他(29 个)
- setup.exe
...
我确认了一下,输入 y,回车。10秒不到,127个文件全部归类完毕。
这10分钟里我在干嘛
说真的,整个过程我做的事情就是:
1. 花2分钟把需求描述清楚(就是上面那段话)
2. 花30秒等AI生成代码
3. 花1分钟扫了一眼代码,确认逻辑没问题
4. 花10秒保存文件
5. 花10秒运行
6. 剩下时间在喝水
一行代码都没写。一个bug都没调。

这个过程的底层逻辑
很多人觉得AI写的代码不敢直接用。但你看这个场景——文件批处理,说白了就是"遍历→判断→移动"三步走。逻辑简单、不会出什么幺蛾子。就算错了,最坏的结果也就是文件归错类,不会删数据库、不会改线上配置。
所以你用AI写代码的正确策略是:从低风险场景开始,建立信任,再逐步让AI承担更复杂的任务。
我现在的习惯是:
- 工具脚本(文件整理、数据清洗、格式转换)→ 完全交给AI,只检查逻辑
- 简单功能(登录注册、CRUD接口)→ AI生成框架,我微调
- 核心业务(支付、权限、事务)→ AI辅助,但主要自己写
- 代码审查 → 先自己review一遍,再让AI double-check
总结
从"想做一个文件整理工具"到"工具跑起来",全程10分钟。以前可能得花半小时写代码、十分钟调试、十分钟处理边界情况。
AI编程工具不是取代你,是让你把精力省下来。原来花在写重复代码上的时间,现在可以用来想架构、看文档、学新东西。
你如果没有试过,今天挑个小需求试试——哪怕就是把桌面整理一下。相信我,用完你会想把身边所有同事都安利一遍。
*下一篇预告:AI帮你读懂祖传代码——拿到一个3年前的Spring Boot项目,怎么用AI快速上手*
*
私信回复「666」,一次性领走:
面试宝典:Java 高频考点速查表、HashMap/ConcurrentHashMap 源码笔记、JVM 调优案例、Spring Boot 面试 50 问
AI 编程工具箱:Cursor/Copilot/Codex 六工具对比表、10 个 Prompt 模板、Debug 万能公式、Cursor 速查手册、AI 图片生成入门、30+ 效率工具包
一份资料包,两个专栏都能用。「唠点键盘之外的」,只讲干货。
更多推荐



所有评论(0)