电脑迁移助手 (PC Migration Assistant)
概述
当用户准备更换电脑时,本 skill 提供完整的文件迁移方案:全盘扫描 → 智能分类 → 生成清单 → 用户确认 → 执行复制。所有文件按「必须迁移 / 建议迁移 / 可选」三档分类,系统文件和缓存自动跳过,迁移过程保留原始目录结构,仅复制不删除原文件。
核心工作流
用户触发 → 扫描全盘 → 生成报告 → 用户审查确认 → 执行复制 → 完成
第一步:全盘扫描与分类
运行 scripts/scan_drives.py 扫描所有可用驱动器(或用户指定的驱动器)。
执行方式:
python scripts/scan_drives.py --output migration_scan_report.json
参数说明:
- --drives C: D: E: — 指定要扫描的驱动器(默认全部)
- --output report.json — 输出 JSON 报告路径(默认 migration_scan_report.json)
- --limit 500000 — 每驱动器最大扫描文件数
- --quiet — 静默模式
输出: 一份 JSON 报告,包含:
- 按 critical/important/optional 三档分类的文件列表
- 每个文件的路径、大小、修改时间、分类理由
- 各驱动器的统计信息
- 总文件数、总大小估算
扫描过程中必须向用户实时汇报:
- 正在扫描哪个驱动器
- 已完成驱动器数 / 总驱动器数
- 发现的关键文件数量概览
第二步:呈现报告并等待用户确认
扫描完成后,必须以清晰的结构化格式向用户呈现扫描结果:
📊 电脑文件迁移扫描报告
═══════════════════════════════════
扫描时间: 2026-07-28 16:30:00
扫描驱动器: C:, D:, E:
📀 各驱动器概况:
C: 关键1250 | 建议340 | 可选89 | 跳过12000
D: 关键3200 | 建议1200 | 可选450 | 跳过8000
E: 关键890 | 建议210 | 可选56 | 跳过3200
┌─ 必须迁移 (★★★★★): 5,340 文件, 23.5 GB
│ 个人文档、项目代码、照片、财务数据
├─ 建议迁移 (★★★★) : 1,750 文件, 12.8 GB
│ 电子书、设计素材、大型数据集
├─ 可选 (★★★) : 595 文件, 8.2 GB
│ 安装包、可重新下载的文件
└─ 已跳过 : 23,200 文件, 15.6 GB
💡 推荐迁移: 7,090 文件, 约 36.3 GB
必须使用 AskUserQuestion 工具向用户确认以下事项:
- 迁移范围 — 默认
critical + important,也可选择全部三档或仅critical - 目标路径 — 用户指定迁移文件夹位置(如外接硬盘路径
F:\OldPC_Migration) - 是否限定驱动器 — 如只迁移 D 盘和 E 盘的文件
在获得用户明确确认之前,绝不执行任何文件操作。
第三步:执行迁移
用户确认后,运行 scripts/execute_migration.py 执行实际复制:
python scripts/execute_migration.py \
--report migration_scan_report.json \
--target "F:\OldPC_Migration" \
--tiers critical important
参数说明:
- --report — 扫描报告 JSON 路径(第二步生成的报告)
- --target — 目标迁移文件夹(用户指定)
- --tiers — 要迁移的分类(critical important optional)
- --drives C D — 限定驱动器
- --workers 4 — 并行复制线程数(默认 4)
- --dry-run — 模拟模式,只生成清单不复制
- --output log.json — 执行日志输出路径
执行过程中向用户汇报进度:
- 每完成 100 个文件汇报一次(如 "进度: 300/7090 (4%)")
- 报告成功/跳过/失败计数
- 错误详情单独列出
第四步:输出结果
迁移完成后,必须向用户呈现最终报告:
📊 文件迁移执行报告
═══════════════════════════════════
✅ 成功: 6,850 文件 (34.2 GB)
⏭ 跳过: 180 文件 (目标已存在)
❌ 失败: 60 文件 (详错误日志)
成功率: 96.6%
迁移文件夹: F:\OldPC_Migration\
├── C\ ← C盘文件(保留目录结构)
├── D\ ← D盘文件
└── E\ ← E盘文件
额外交付物:
- migration_execution_log.json — 完整迁移日志
- 迁移文件夹内的 _MIGRATION_CHECKLIST.txt — 人类可读的文件清单
文件分类规则
详细的分类规则见 references/importance_rules.md,核心逻辑:
| 分类 | 典型文件 | 自动纳入 |
|---|---|---|
| 必须迁移 | 文档(.docx/.pdf)、代码(.py/.js)、照片(.jpg)、数据库(.sqlite)、证书(.pem) | 默认 |
| 建议迁移 | 电子书(.epub)、数据集(.h5)、磁盘镜像(.iso)、设计源文件 | 需确认 |
| 可选 | 安装包(.exe/.msi)、下载临时文件 | 一般跳过 |
智能升级规则:
- 位于 Desktop/Documents/Pictures 等用户目录 → 升一级
- 最近 90 天内修改 → 升一级
- 跳过路径清单见 references/skip_paths.md
安全原则(不可违反)
- 仅复制,绝不移动或删除原文件
- 扫描前明确告知用户将扫描哪些驱动器
- 执行前必须获得用户对范围、目标的确认
- 系统目录永不触碰:C:\Windows、C:\Program Files 等绝对跳过
- 零字节文件自动跳过
- 目标已存在的文件自动跳过(比较大小后确认)
- 遇到权限错误时跳过该文件并记录,不中断整体流程
Resources
scripts/
scripts/scan_drives.py— 全盘扫描器,列出所有驱动器,遍历文件,按规则分类,输出 JSON 报告scripts/execute_migration.py— 迁移执行器,读取报告,多线程并行复制,验证完整性,生成日志
references/
references/importance_rules.md— 文件重要性分类规则详细说明references/skip_paths.md— 跳过的系统路径和缓存目录清单