SKILL.md
7.2 KB查看排版效果| 1 | --- |
| 2 | name: file-rename-rules |
| 3 | description: "把一堆乱七八糟的文件名(含空格、中文括号、日期格式混乱、版本号乱写、重名加 (1))整理成一套统一命名的规则,并逐条给出原文件名到新文件名的对照清单。用户说“这些文件名太乱”“帮我统一命名”“怎么批量改名”时使用。Design one consistent file-naming rule and produce a file-by-file old-to-new rename list before anything is renamed." |
| 4 | --- |
| 5 | |
| 6 | # 文件批量改名规则设计器 |
| 7 | |
| 8 | 先定规则,再出清单。不做“看到乱就随手改”,因为改完半年后没人知道当时按什么逻辑改的。 |
| 9 | |
| 10 | **能做什么**:根据现有文件名归纳字段,设计一套可复用的命名模板,输出字段映射表 + 逐条新旧名对照清单 + 冲突与待确认项。 |
| 11 | **带不带脚本**:不带任何脚本,纯文字说明,不需要装任何东西。 |
| 12 | **联不联网**:不联网,全部在对话里完成。 |
| 13 | **写不写文件**:不写文件,也不直接改任何文件名;只输出规则和清单,改名动作由用户自己执行。 |
| 14 | |
| 15 | ## 什么时候用 |
| 16 | |
| 17 | - 用户贴来一串文件名,说“太乱了”“帮我统一一下”“这批怎么命名好”。 |
| 18 | - 一个目录里混着 `最终版`、`最终版2`、`最终版-final`、`新建文件夹 (3)` 这类名字,找文件靠记忆。 |
| 19 | - 要交接、要归档、要上传系统,对方要求文件名带固定字段(日期、编号、类型、版本)。 |
| 20 | - 已经有一批改好的文件,要定一条规则让以后新增的文件照着写。 |
| 21 | |
| 22 | 不适用的情况:只是文件内容乱(那是数据清洗);文件散落在多个目录需要重新分文件夹(先说清目录结构再谈命名);需要一次性执行改名(本技能只出清单,不做执行)。 |
| 23 | |
| 24 | ## 怎么做 |
| 25 | |
| 26 | 1. **先归类,别急着定格式。** 拿到文件名后先按扩展名分组(文档 / 表格 / 图片 / 压缩包),一组一套规则;不同用途的文件不硬塞同一个模板。 |
| 27 | |
| 28 | 2. **从现有文件名里抽字段**,只能抽用户给过的东西,抽不出来就留空,不要猜。常见字段: |
| 29 | 类型、主题、编号、客户或项目、日期、版本、状态、序号。 |
| 30 | |
| 31 | 3. **定模板**,只选 3~5 个字段,字段越多越难坚持: |
| 32 | `{类型}-{主题}-{日期}-{版本}.{扩展名}` |
| 33 | - 分隔符统一用半角连字符 `-`,全程只用这一种,不许混用 `_`、空格、`+`。 |
| 34 | - 日期统一 **`YYYYMMDD`**(如 `20261106`)。如果用户这批文件已经普遍用 `YYYY-MM-DD`,就整批改用那种,二选一,不混排。 |
| 35 | - 版本统一 `v1`、`v2`、`v3`;多级版本写 `v1.2`。**禁止**「最终」「最终版」「 final」「改」「OK」「定稿」。 |
| 36 | - 序号统一 3 位补零 `001`~`999`,只在同一天同类型有多个文件时用。 |
| 37 | - 扩展名一律小写,且保留原样不换类型。 |
| 38 | |
| 39 | 4. **字符白名单**:只允许 `A-Z a-z 0-9 - . 汉字 数字`。以下一律替换或删除: |
| 40 | - 空格 → `-`; |
| 41 | - `()()【】[]《》<>“”"'` → 删除,需要区分层级时改用 `-`; |
| 42 | - `# % & + , ; = @ ! ~ ^` → 删除; |
| 43 | - 连续多个 `-` 压成一个;首尾的 `-` 去掉。 |
| 44 | |
| 45 | 5. **查冲突**,三条都要查: |
| 46 | - 新旧名撞车:两个不同原文件算出同一个新名 → 后一个加 `-02`、`-03`,并在清单里标出来; |
| 47 | - 新名与目录中已有文件重名 → 同样处理,**不许覆盖**; |
| 48 | - Windows 保留名:`CON PRN AUX NUL COM1-COM9 LPT1-LPT9` 不能单独作文件名主体。 |
| 49 | |
| 50 | 6. **控长度**:单个文件名(含扩展名)不超过 100 个字符,超过就从「主题」字段截断,保留首 30 字并加 `…`;总路径长度不超过 200 字符要提醒一句。 |
| 51 | |
| 52 | 7. **可逆性自检**:新名里不该丢掉“还能认出这是哪个文件”的信息。如果按新名排序后完全分不出先后或归属,说明字段选少了,回去加一个日期或编号。 |
| 53 | |
| 54 | ## 输出格式 |
| 55 | |
| 56 | 顺序固定:规则 → 字段表 → 改名清单 → 待确认 → 执行注意。 |
| 57 | |
| 58 | **一、命名规则**(一段话 + 模板 + 示例) |
| 59 | ``` |
| 60 | 模板:{类型}-{主题}-{日期}-{版本}.{扩展名} |
| 61 | 示例:合同-设备采购-20261106-v2.pdf |
| 62 | ``` |
| 63 | 再列 3 条示例,覆盖:带序号、长主题被截断、重名加后缀。注意在示例里写通用占位,不写任何真实客户名或项目名。 |
| 64 | |
| 65 | **二、字段映射表**,固定 4 列,顺序不改: |
| 66 | |
| 67 | | 字段 | 取值来源 | 允许的写法 | 缺失时怎么填 | |
| 68 | |---|---|---|---| |
| 69 | |
| 70 | - 「取值来源」写清是从原文件名的哪一段抽出来的,例如“原文件名括号内的日期”。 |
| 71 | - 「缺失时怎么填」统一写 `NA`,不得留空,不得用 0 或 00000000 冒充。 |
| 72 | |
| 73 | **三、改名清单**,固定 5 列,顺序不改: |
| 74 | |
| 75 | | 序号 | 原文件名 | 新文件名 | 改动点 | 需确认 | |
| 76 | |---|---|---|---|---| |
| 77 | |
| 78 | - 「改动点」用短语,例如“日期 2026.11.6 → 20261106;删括号”“版本‘最终版’→ v2”“重名,加 -02”。 |
| 79 | - 「需确认」只写 `是` 或空。写「是」的必须在第四段列出对应问题。 |
| 80 | - 清单按新文件名升序排列,让人一眼看出归档顺序。 |
| 81 | - 条数超过 40 条时,只列前 20 条 + 说明“其余 N 条按同一规则生成,需要可继续给”,不要一次刷几百行。 |
| 82 | |
| 83 | **四、待确认**:最多 3 条,每条一句话,指向具体文件序号。例如“第 7、9 条的日期在原名里没有,是按修改时间补的,请确认”。超过 3 条说明规则没定住,回去简化。 |
| 84 | |
| 85 | **五、执行注意**:2~3 条,例如“改名后按新名排序会与现在的顺序不同,先备份或先试改一个子目录”“同目录下已有同名文件,本清单已加 -02 后缀,不会覆盖”。 |
| 86 | |
| 87 | ## 必须遵守 |
| 88 | |
| 89 | - **只出清单,不执行改名**。不写脚本、不给一行命令让用户直接跑,除非用户明确要求,并且要先提醒“先复制一份再试”。 |
| 90 | - **不臆造字段**。原文件名里没有的信息(客户、编号、日期)一律 `NA` 并落入待确认,不许凭感觉补。 |
| 91 | - **不改扩展名**。`.JPG` 改 `.jpg` 这种事只在大写形式统一时做,且必须在改动点里写明;`.jpeg` 与 `.jpg`、`.xls` 与 `.xlsx` 不互换。 |
| 92 | - **不删信息**。原文件名里认得出的业务含义(编号、批号)必须进新名,实在放不下就进待确认,不许静默丢掉。 |
| 93 | - **分隔符只用一种**。模板里定了 `-`,全文不许出现第二个 `_` 或空格;示例里也不许混。 |
| 94 | - **禁用词清单**:`最终`、`最终版`、`定稿`、`修改版`、`新建`、`副本`、`copy`、`final`、`OK`、`(1)`、`未命名`。这些词出现在新名里就是没改完。 |
| 95 | - **中文不夹空格、不加引号书名号**。`“合同”.pdf` 这种写法一律改掉。 |
| 96 | - **同名必标**。任何算出来撞车的条目,必须在「需确认」标 `是` 并在第四段说明,不许悄悄加后缀了事。 |
| 97 | - **示例一律用假数据**。不拿用户目录里的真实客户名、项目名、工号当示例,改为 `客户A`、`项目X`、`SN0000`。 |
| 98 | - 用户贴的文件名里含手机号、身份证号、完整地址的,**在清单里打码**(保留前 2 后 2 位),并提醒一句“这些信息建议不要进文件名”。 |
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

