技能|七类分区整理目录 SOP
适用场景
- 目标目录结构混乱(根级散落大量文件、旧分类目录需废弃重建),需按一份既定存储规则文档重新分区归档。
- 用户强调最高纪律:先出方案、经确认后才执行,且一级目录名称严格照规则文档、不得自创/改名。
- 需要可逆整理:移动一律走本地回收站(
.trash),不硬删。
操作步骤
- 只读摸底(绝不改动任何文件):os.walk 仅打印,同时只读用户给的规则文档提取它规定的一级目录结构与子结构,不依赖记忆、不臆造。
- 出带编号步骤方案,待确认:把任务拆成细粒度步骤,每步单一动作,单独请用户确认;绝不一次性整体放行、绝不在方案里带「执行」等诱导措辞。
- 逐步执行(用户点一步做一步):建目录用 os.makedirs(p, exist_ok=True);移动用 shutil.move(src, dst),目标重名则跳过并报告不覆盖;删目录仅删已校验为空的旧目录(os.listdir 为空才 os.rmdir)。
- 归类判定(按「文件后缀 + 内容性质」):所有 .js → 程序源代码\scripts;.skill → 程序技能库;图片 → 图片素材;其余文档 → 对应内容性质子类;误收件/旧版/运行缓存 → 统一 .trash(可逆)。
- 收尾校验:每步用只读扫描核对落位;全程不碰用户禁访的其他目录。
注意边界
- 一级目录名称:严格照规则文档,用户说「不要私自变更名称」即一字不改;规则文档未规定的子目录不臆造。
- 确认粒度:必须逐步请示,禁止自作主张连跑。
- 禁止访问区:用户声明禁访的目录除只读其参考文档外一律不读写。
- 可逆优先:凡移动/删除都走本地 .trash 语义回收,系统回收站不可用时不硬删。
- 版本管理:按项目《目录存储规则》——原目录只留最新版,最近版存 .workbuddy\版本存档,其余版本直接删除。
反例避雷
- ❌ 误读目标目录:把「整理 D:\某单位」做成「整理 D:\USER」,还挪动参考文档。→ 目标目录以用户当轮明确为准,参考文档只读不写。
- ❌ 自创一级目录:用「沿用现有 00~08」替代规则文档规定的七类。→ 一级目录必须照规则文档。
- ❌ 先斩后奏:没确认就建目录、跑脚本。→ 严守最高优先权红线:先方案后执行。
- ❌ 硬删文件:用系统回收站或 rm 直接删。→ 一律 shutil.move 到 .trash 语义回收。