Batch Operations 是一个面向多文件批量修改的技能,核心目标是用一个模式同时作用于多个目标,实现跨文件的一致变更。
用途 它适用于需要在多个文件中应用相同修改的场景,例如:在所有使用某函数或组件的文件中重命名;向某个目录下的每个文件添加导入语句;更新多个包文件中的版本号;将同一代码模式应用到多个相似文件;在整个代码库中从一个 API 迁移到另一个 API;在所有相似数据结构中添加或删除字段。它不适用于单文件编辑、每个文件都需要独特修改的情况,以及需要逐文件判断的变更。
主要能力 该技能提供了一套批量操作协议,分为四个步骤。第一步是定义模式,需要明确要查找的精确文本或模式、替换文本、文件范围(glob 模式,如 src/**/.tsx)以及要排除的文件(如 **/.test.tsx)。第二步是执行前预览,使用 grep 命令查找所有受影响文件、统计匹配数量并显示每个匹配的上下文,强调绝不能在未预览的情况下进行批量修改。第三步是执行批量操作,对文本替换给出了 Linux/macOS 的 find + sed 命令以及 Windows PowerShell 的 Get-ChildItem + ForEach-Object 命令;对结构性变更(如添加导入、包裹代码)则建议使用 Edit 工具逐文件处理,并按一致顺序(字母顺序或依赖顺序)进行。第四步是验证批量操作,确认没有遗漏的旧模式、确认替换正确,并运行测试和构建以捕获破坏。
使用方式 技能中列出了常见批量模式及其命令模式,包括重命名导入、更新版本、添加导出、移除废弃函数、添加文件头、类型迁移等。同时给出了安全规则:始终先预览受影响文件;确保 Git 工作目录干净(先 stash 或 commit);通常需要排除测试文件;每次批量操作后运行构建和测试;报告每个被修改的文件及变更摘要。
适用场景 适合代码库级别的统一重构、依赖升级、API 迁移、批量添加或删除字段、统一添加文件头等需要跨多个文件保持一致性的任务。
限制 不适用于单文件编辑、每个文件需要独特修改的情况,以及需要逐文件判断的变更。技能中未提供关于收费、价格、平台支持范围或具体效果保证的信息。