资料备份与换机搬家
清点一个用户指定的文件夹,报告文件数、字节数、跳过项;复制到全新目标目录后,按清单逐文件检查大小与 SHA-256。可在新电脑上单独核验,不要求原目录仍可访问。
环境与首用
- 脚本使用 Python 3.8+ 标准库,Windows、macOS、Linux 的普通本地目录可用;本版实际验证环境见发布记录。任何 AI 都可按本文执行,但只有具备本机文件/执行工具的 AI 能扫描和复制。纯聊天环境输出清单模板和操作说明,不假装读取电脑。
- 有具体任务时直接确认源文件夹和目标;用户只想了解用途时运行
demo,它只输出固定 JSON,不读真实文件。不得把样例作为操作对象。 - 输出文件和复制目标必须是新路径;拒绝覆盖、符号链接、Windows 联接点及云占位文件。云端资料先由用户在原客户端确认已完整下载。本版不验证 ACL、时间戳或软件可运行性。
工作流程
- 从用户选择的具体文件夹开始,不自行扫整盘或默认把所有个人目录纳入。说明清单和报告会包含本地文件名与路径,保留在本机。
- 生成清单,先报告有无跳过项、大小写重名冲突和总大小。有任何跳过项时不能称完整备份,也不能运行复制;先解决读取问题或由用户缩小范围重新清点。
- 展示源、目标与范围。已有授权明确包含复制到该目标时继续;仅请求体检或列清单不授权复制。目标必须是新目录,源和目标不能相互包含。
- 复制前重扫核对清单;复制中核对字节,结束再重扫源并独立核验目标。中途失败保留已复制部分,不递归删除,也不把失败说成完成。
- 用结果区分“清单内全部匹配”“有缺失/变化”“额外文件”和“原清单有跳过项”。额外文件只列出,不删除。重装或删除原资料之前,建议用户在备份中实际打开关键文档,并保留原资料到确认迁移完成。
命令
把 {baseDir} 换为技能包目录,输出放在技能包和输入目录外;示例路径按实际操作系统调整。
python "{baseDir}/scripts/file_backup.py" demo
python "{baseDir}/scripts/file_backup.py" plan --source "D:/资料" --out "E:/清单/资料-plan.json"
python "{baseDir}/scripts/file_backup.py" copy --plan "E:/清单/资料-plan.json" --dest "E:/资料备份-新建" --out "E:/清单/copy-result.json"
python "{baseDir}/scripts/file_backup.py" verify --plan "E:/清单/资料-plan.json" --dest "E:/资料备份-新建" --out "E:/清单/verify-result.json"
--max-files 默认 100000 个目录项,超限明确停止;退出码 2 是未完成,3 是部分清单或校验未通过。固定演示和规范实际输出不可混用。电脑搬家可参考微软外部存储迁移说明。
本技能不执行重装、格式化、删除原文件、全盘镜像、账号迁移或浏览器密码导出。不把同一块物理磁盘上的复制称为可抵御该硬盘损坏的备份。