
XGP存档提取工具教程三步把Xbox Game Pass PC版存档迁移到Steam或Epic【免费下载链接】XGP-save-extractorPython script to extract savefiles out of Xbox Game Pass for PC games项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor你刚通关Xbox Game Pass for PC版的游戏现在想在Steam或Epic上接着玩或者正准备重装系统、想先把进度备份下来。XGP-save-extractor 是一款开源 Python 脚本能自动找到你电脑上支持游戏的存档数据从Xbox私有的存储格式里提取出来打包成存档提取用的 ZIP 压缩包。把压缩包里解压出来的文件复制到目标平台的存档目录存档迁移就完成了。全程不需要你手动翻系统文件夹。 三步跑通首次提取第 1 步获取项目代码操作指令在终端执行下面的命令然后进入项目目录git clone https://gitcode.com/gh_mirrors/xg/XGP-save-extractor cd XGP-save-extractor预期结果目录下能看到main.py和games.json两个核心文件其中games.json就是支持游戏清单。第 2 步确认 Python 版本操作指令执行python --version预期结果显示 3.10 或更高版本。这个工具需要 Python 3.10版本不够的话先升级再运行。第 3 步运行脚本操作指令在项目目录执行python main.py预期结果终端先列出已安装的支持游戏Installed supported games然后逐个处理最后显示类似Save files written to hades_你的Gamertag_2026-08-21_15_30_12.zip的提示。ZIP 就生成在你当前所在目录里。注意它不是让你选游戏而是把检测到的所有支持游戏一次性处理完。⚠️ 如果中途提示提取失败先别反复重试。Xbox 云存档同步进行时提取出来的文件可能不完整。关掉游戏和 Xbox 应用等几分钟再跑一次。 先确认你的游戏在支持列表里运行前花一分钟确认游戏受支持能省掉后面所有麻烦。看游戏清单打开项目根目录的games.json每个条目包含三个字段——name游戏名、packageXbox 包名也就是存档目录的名字、handler该游戏专属的提取规则。比如《Atomic Heart》配的是1c1f规则《Forza Horizon 5》配的是专门的forza规则。看迁移验证状态README 里有一张支持游戏表标了各游戏迁移到 Steam 或 Epic 的实测结果——✅ 表示有人确认成功❔ 表示还没人反馈。标 ❔ 的游戏值得一试但心里要有数万一失败了多半是格式问题而非工具 bug。⚠️ README 还维护了一份不兼容游戏名单如《A Plague Tale: Requiem》《ARK: Survival Ascended》《Persona 3 Reload》等。这些游戏在 Game Pass 和 Steam/Epic 两端的存档格式差异太大目前无法简单转换。如果你的游戏在这张表里不要强行提取后硬塞进目标平台。多账户提示如果你的电脑上有多个 Windows 用户都登录过 Xbox 玩过同一款游戏工具会为每个用户各生成一个 ZIP文件名里带用户标识。解析不到 Gamertag 时会用 Xbox 用户 ID 代替所以看到一串数字也别慌那就是某个没被识别出昵称的账户。 提取出来的ZIP装的是什么文件该放哪读懂 ZIP 文件名格式固定为游戏名_用户标识_时间戳.zip游戏名会转成小写、空格换成下划线。例如persona_5_royal_YourTag_2026-08-21_15_30_12.zip时间戳精确到秒。同一款游戏跑两次会生成两个不同的 ZIP互相不会覆盖天然就是一组带时间点的备份。打开看看解压后你会看到按目标平台命名的存档文件比如带.sav后缀的文件或者按游戏要求的嵌套文件夹结构。有些游戏还会多出 XGP 版本来没有、但 Steam/Epic 版本需要的辅助文件——工具会按规则帮你补上。放到哪大多数情况下把解压出的文件直接复制进 Steam 或 Epic 版游戏的存档目录即可。具体路径因游戏而异搜索游戏名 存档位置就能找到社区整理好的路径。验证是否成功启动目标平台版本确认进度、角色、装备都能正常加载。第一次进去建议先手动存一次档确认写入的是同一套文件再放心删掉旧备份。 原理速览工具如何找到并解开你的存档Xbox Game Pass for PC 游戏的进度不放在你随手能找到的文档目录里而是藏在%LOCALAPPDATA%\Packages下按游戏包名命名的系统目录中——可以把它理解成每个游戏都有自己的一间储物柜柜门上贴着包名标签长得像Microsoft.624F8B84B80_8wekyb3d8bbwe这样的字符串。柜子里SystemAppData/wgs文件夹中有一份containers.index相当于柜内清单记录了每个容器对应一份存档或一组存档里装着哪些文件而每个文件用一个 GUID全局唯一标识符可以理解为文件的身份证号来指代。工具做的事就是照着清单把东西一件件搬出来读取 games.json 支持清单 │ ▼ 扫描 %LOCALAPPDATA%\Packages 下已安装的游戏包目录 │ ▼ 在游戏的 wgs 目录下定位用户存档目录用户ID_标题ID │ ▼ 解析 containers.index得到容器与文件的 GUID 对照 │ ▼ 按该游戏的 handler 规则提取原始文件重命名或重组 │ ▼ 输出 游戏名_用户_时间戳.zip多数游戏只需套用三种基础模式之一模式含义代表游戏1c1f一个容器只装一个存档文件文件名沿用容器名Atomic Heart1cnf一个容器装多个存档文件全部平铺导出Hades1cnf-folder一个容器对应一个文件夹保留目录层级Persona 5 Royal个别游戏有专属 handler做更复杂的处理。比如 Starfield 在 XGP 端把存档拆成了多个分片工具会按顺序把它们重新拼回 Steam 版需要的单一 SFS 文件《Lies of P》的容器名前面带着一串数字编号工具会剥掉并补上.sav后缀。另外两个设计值得一提一是多账户区分用户目录名里的十六进制用户 ID 会被拿去比对 Xbox 应用本地记录XboxLiveGamer.xml从而在 ZIP 文件名里写进可读的 Gamertag二是提取前会核对容器里声明的每个文件是否真实存在对不上就跳过并警告而不是默默输出一份残缺存档。 高频失败排查现象可能原因处理办法提示 No supported games installed 后退出没装任何支持游戏或游戏从未运行过系统里还没生成对应的包目录确认游戏已安装并至少启动过一次确认games.json与main.py在同一目录警告 Missing container / Missing file云存档同步正在进行文件还没落盘完整退出游戏和 Xbox 应用等几分钟再跑不要直接用已生成的 ZIP警告同一文件出现两个 GUID、无法取舍同步正在用新文件覆盖旧文件等同步彻底结束后重新提取旧的那份作废提示存档目录里存在 Xbox 自建备份工具默认跳过backup子目录只取最新的一份按提示确认后继续重要进度建议把生成的 ZIP 再复制一份到别处ZIP 生成成功但目标平台版本读不出进度两端版本存档格式不一致或放错了目录新建一个目标版本的存档对比 ZIP 内文件结构和它的差异核对游戏当前版本与 README 支持列表是否匹配⚠️ 如果你用发行版自带的单文件可执行程序由 PyInstaller 打包内置了 Python 解释器个别杀毒软件会把它标记为可疑。这通常是误报不放心就直接用python main.py跑源码版本内容完全一样。XGP-save-extractor 是个小而准的工具只干一件事把锁在Xbox格式里的进度变成你能带走、能复用的文件。需要新游戏支持、或者遇到了排查表里没有的报错去项目仓库提一个 issue 并附上终端报错原文即可新游戏的规则基本都由社区按这个流程加进来。趁 Game Pass 的游戏还在订阅期里现在就把存档备份一份吧。【免费下载链接】XGP-save-extractorPython script to extract savefiles out of Xbox Game Pass for PC games项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考