用 Cursor 写个批量重命名脚本,我以为 1 分钟搞定,结果踩了 2 个大坑
用 Cursor 写个批量重命名脚本,我以为 1 分钟搞定,结果踩了 2 个大坑
作为一名经常要处理大量素材的创作者,上周我经历了一个极其崩溃的瞬间:
为了准备一个新项目的视频,我从各个渠道下载了近百个素材。打开文件夹的那一刻,我眼前一黑——文件名全是类似 wx_camera_16987234.mp4、IMG_8848_final_v2.jpg、1a2b3c4d.png 这样的乱码。
按照以往的习惯,我可能会叹口气,然后一边听播客一边手动 F2 重命名,大概要耗费半个小时。
但在这个 AI 时代,手动改文件名简直是对生产力的侮辱。既然电脑里装着当下最火的 AI 编程神器 Cursor,为什么不让它帮我写个自动化脚本呢?
我以为这会是一个“1分钟搞定,准点下班”的爽文故事,但没想到,在这个过程中我结结实实地踩了两个大坑。
今天这篇文章,我就来为你复盘这次真实的 AI 编程实战。无论你是完全不懂代码的小白,还是有一定基础的进阶玩家,看完这篇,你都能掌握用 AI 零基础写自动化脚本的“正确姿势”。
---
一、一句大白话,1分钟生成可用脚本
对于没有任何编程基础的人来说,Cursor 最大的魅力在于:你只需要会说人话。
我打开 Cursor,新建了一个名为 rename.py 的文件,按下 Ctrl+K(或者 Cmd+K),直接输入了我的第一版 Prompt(提示词):
初级 Prompt:
“帮我写个 Python 脚本,把当前文件夹里所有的图片和视频文件,按照‘项目名_日期_序号’的格式重新命名。项目名默认叫‘8848AI_Project’,序号从 01 开始。”
大约只过了 5 秒钟,Cursor 就刷刷刷地生成了一段几十行的 Python 代码。我点击了 Accept(接受),然后在终端里敲下 python rename.py,按下回车。
wx_camera_16987234.jpg
IMG_8848_final.mp4
download_image_001.png
【After:运行后】
8848AI_Project_20231025_01.jpg
8848AI_Project_20231025_02.mp4
8848AI_Project_20231025_03.png
那一刻,看着整齐的文件名,我感受到了前所未有的爽感。AI 编程的门槛,真的已经被踩碎在地上了。
---
二、高潮反转:我以为我是极客,结果踩了 2 个大坑
就在我沾沾自喜,准备把这个脚本奉为圭臬时,现实很快给了我两记响亮的耳光。
坑1:没有“后悔药”(破坏性执行)
脚本跑完后,我盯着文件名看了一会儿,突然觉得:8848AI_Project 这个前缀太长了,我想改成简短的 8848_。
于是我准备再跑一次脚本。但尴尬的事情发生了:原文件名已经被彻底覆盖,脚本根本不知道哪些文件是刚才改过的,如果再跑一次,序号逻辑全乱了。
传统的重命名软件通常都有“撤销”功能,但我让 AI 写的这几十行代码,是一把没有保险的“快刀”。如果在一个包含重要系统文件的文件夹里误触了这个脚本,那将是一场灾难。
✅ 解法:引入“预览”与“撤销日志”我立刻回到 Cursor,要求它修改代码逻辑:
进阶 Prompt 补充:
“这个脚本太危险了。请做两点修改:
1. 增加 Dry Run(预览)模式:默认运行只打印修改前后的名字对比,不真正修改。只有加上 --execute 参数时才真正重命名。
2. 增加撤销功能:每次真正重命名时,在当前目录生成一个 undo_log.json 文件,记录旧名字和新名字的映射关系。并提供一个撤销指令来恢复原名。”
Cursor 马上领会了我的意思。它巧妙地利用 JSON 文件做了一个“后悔药”机制。
核心代码片段展示:# Cursor 生成的生成撤销日志逻辑
undo_mapping = {}
for old_name, new_name in rename_list:
os.rename(old_name, new_name)
undo_mapping[new_name] = old_name
将映射写入日志文件
with open('undo_log.json', 'w', encoding='utf-8') as f:
json.dump(undo_mapping, f, indent=4)
print("✅ 重命名完成!如需撤销,请运行 python rename.py --undo")
有了这个日志,我再也不怕手抖改错文件名了。
坑2:忽略了“边缘场景”(文件冲突与隐藏文件)
过了几天,我把这个脚本发给用 Mac 的同事用。没过两分钟,他发来一张满是红色报错的终端截图:
PermissionError: [Errno 1] Operation not permitted: '.DS_Store'
原来,Mac 系统会在文件夹里自动生成隐藏文件 .DS_Store。我最初的脚本非常粗暴,把所有文件都抓过来重命名,结果碰到了没有后缀名的隐藏文件,直接报错中断了。
不仅如此,如果有两个文件恰好生成了相同的新名字,脚本也会直接崩溃,并且会导致一半的文件改了名,另一半没改的尴尬局面。
✅ 解法:把报错信息直接喂给 AI这就是用 AI 写代码最爽的地方:你不需要去 StackOverflow 上搜报错信息,直接把报错截图或文本扔给 Cursor 就行了。
不过在这里,我强烈建议大家把 Cursor 右侧对话框的模型切换到 Claude Sonnet 4.6。作为目前的绝对主力模型,它在理解代码逻辑和修复 Bug 方面,是公认最强的。
💡 进阶用户的生存指南:
>
在让 Cursor 反复帮我修 Bug 的过程中,我发现免费版的 Fast 请求额度用得飞快。如果你像我一样是个重度用户,或者想在本地无缝调用顶级的 AI 模型,配置一个稳定、高性价比的 API 接口就非常必要了。
>
我目前在用的是 api.884819.xyz。它完美解决了国内开发者的痛点:
- 注册极简: 只需要用户名+密码,连邮箱验证都不需要,10秒搞定。
- 白嫖福利: 注册就送 5 元体验额度,够跑好几百次脚本了。
- 国产免费: 平台上的 Deepseek R1/V3、通义千问 Qwen3 等国产大模型完全免费!
- 模型齐全: 想要顶配逻辑?直接调用 Claude Opus 4.6 或 Gemini 3.1 Pro,按量付费,没有月租订阅的压力。
>
注册后平台内置了 AI 对话功能直接能用,也可以把生成的 API Key 填进 Cursor 里,瞬间满血复活。有需要的朋友直接访问官网体验。
依靠 Claude Sonnet 4.6 的强大逻辑,它迅速帮我加上了防御性代码:跳过以 . 开头的隐藏文件,并在重命名前检查目标文件名是否已存在。
---
三、主编总结:用 AI 写代码的 3 个黄金法则
经过这次“跌宕起伏”的重命名脚本开发之旅,我总结出了用 AI 辅助编程的 3 条黄金法则,无论你是写 Python 还是做前端,都绝对适用:
1. 先跑通,再优化(Iterative Prompting):
不要指望一个 Prompt 就能生成完美的、包含所有异常处理的几百行代码。先用最简单的大白话让 AI 写个 MVP(最小可行性产品),看到效果后,再一步步提要求加功能。
2. 永远记得“防御性编程”:
AI 是个极其听话的执行者,你让它删它就真删。凡是涉及到文件修改、数据删除的操作,一定要让 AI 加上 Dry Run(预览)和备份/日志逻辑。给自己留一颗后悔药。
3. 把 AI 当作结对编程的同事,而不是神:
AI 会犯错,会忽略边缘场景(比如 Mac 的 .DS_Store)。你需要用你的业务常识去引导它,遇到 Bug 不要慌,把报错信息直接扔给它,让“同事”自己修自己写的 Bug。
---
写在最后
搞定了本地文件重命名,看着文件夹里整整齐齐的素材,我喝了口咖啡,突然冒出了一个更大胆的想法:
既然 Cursor 配合顶级模型连本地文件都能随便拿捏,那网上的海量数据呢?每天去各个网站手动下载行业报告、整理数据,是不是也太原始了?
下一篇文章,我将为你带来更硬核、更实用的实操教程: 《完全不懂爬虫,我用 Cursor 写了个脚本,每天自动把某网站的行业日报下载并转成 PDF》想知道进阶版的自动化怎么玩?关注 8848AI,我们下期见,继续用 AI 把繁琐的工作彻底自动化!
* 本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。#AI教程 #Cursor #Claude #人工智能 #8848AI #AI学习 #Prompt技巧 #自动化办公