XGP-save-extractorXbox Game Pass for PC 游戏存档提取完整指南【免费下载链接】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 的玩家XGP-save-extractor 这款免费开源的 Python 工具能帮你一键提取游戏存档运行一条命令它就把指定游戏在当前 Windows 用户下的存档打包成一个 ZIP 文件方便你备份或把进度迁移到 Steam / Epic 版本。它替你做完了找存档目录、解析容器格式、还原文件结构这些最容易出错的手工环节。工具速览为什么不必再手动翻系统目录XGP 游戏的存档藏在%LOCALAPPDATA%\Packages\游戏包名\SystemAppData\wgs这条深层路径里且文件以 GUID 命名、装在容器格式中手动处理基本靠反复试错。XGP-save-extractor 的原理很简单扫描本机已安装的支持游戏解析wgs目录下的containers.index索引和 GUID 映射按每款游戏自己的命名规则还原出标准存档文件最后打包成 ZIP。手动操作对比环节纯手工用 XGP-save-extractor定位存档位置在Packages下逐层翻找靠文件夹名猜游戏自动扫描并匹配内置游戏列表解析容器格式自行读懂containers.index二进制索引和 GUID 对应关系自动完成区分多账户用户目录形如用户ID_标题ID需手动查用户 ID读取 Xbox 应用的XboxLiveGamer.xml自动关联 gamertag还原文件命名每款游戏规则不同加后缀、拆文件夹等容易出错按games.json中各游戏的 handler 配置自动处理产出散落的原始文件一个命名清晰的游戏名_用户名_时间戳.zip上手准备3 步确认环境就绪安装 Python 3.10 或更高版本python --version预期看到Python 3.10.x或更新的版本号。获取项目代码git clone https://gitcode.com/gh_mirrors/xg/XGP-save-extractor cd XGP-save-extractor项目结构非常轻量核心就是main.py全部逻辑和games.json支持的游戏列表。确认你的游戏在支持列表中打开games.json搜索游戏名能查到即支持。例如{ name: Forza Horizon 5, package: Microsoft.624F8B84B80_8wekyb3d8bbwe, handler: forza }注意区分支持列表里有 ❔未确认标记的游戏可能尚未在 Steam/Epic 端验证过README.md中还有一份不兼容游戏清单如 Forza Horizon 4、Persona 3 Reload 等这些游戏的存档格式差异较大暂无法直接转换不建议强行提取。核心操作3 步跑通存档提取第 1 步保证游戏已安装并至少完整启动过一次存档容器是在你进游戏后由 Xbox 应用创建的。只装游戏没进过存档目录不会生成反之日常游玩时云同步会在后台工作后文排错会用到这一点。第 2 步运行提取脚本python main.py你会看到当前用户下所有已安装且受支持的游戏被逐一处理无需手动选择Xbox Game Pass for PC savefile extractor Installed supported games: - Hades Save files for user 你的GamerTag: - saves.sav Save files written to hades_你的GamerTag_2026-08-21_20_15_00.zip第 3 步留意同步警告如果输出中出现Xbox cloud save syncing might not be complete一类的黄色警告如Missing container、Missing file说明此时云存档同步可能还没结束工具会按提示暂停等待。按回车跳过即可但被跳过的文件不会进 ZIP——建议过几分钟重跑一次直到警告消失。结果验证确认提取出来的存档可用检查 ZIP 内容ZIP 生成在运行脚本的当前目录文件名格式为游戏名_用户名_时间戳.zip例如hades_YourTag_2026-08-21_20_15_00.zip。解压后应看到该游戏正常的存档文件例如 Hades 是.sav、Starfield 是重组后的.sfs、Persona 5 Royal 是还原后的目录结构。迁移到 Steam/Epic把 ZIP 里的文件复制到目标平台的存档目录各游戏的具体位置可查 PCGamingWiki 对应词条的 Save game data location。实测加载启动 Steam/Epic 版本游戏确认进度正确读取。稳妥起见先在游戏里新建一个存档槽手动保存一次万一格式不兼容也不至于丢档。出问题时的自检5 个高频现象与解法现象 / 报错可能原因解决办法提示No supported games installed没有安装任何受支持的游戏或装了但没启动过到游戏库确认游戏已安装完整进入游戏一次后再运行脚本提示Failed to read game listgames.json缺失或损坏重新 clone 仓库或检查项目目录下games.json是否完整反复出现Missing container/Missing file警告Xbox 云存档同步正在进行中文件处于中间状态关闭游戏等几分钟云同步完成后重跑仍反复出现可检查 Xbox 应用的同步设置提示The save directory contains backupsXbox 应用曾生成过备份副本按提示回车继续脚本默认跳过备份目录提取的是正式存档杀毒软件把可执行文件标记为恶意官方发布的是 PyInstaller 打包的 exe内含 Python 解释器 本脚本易被误报改用源码方式运行python main.py行为与 exe 完全一致迁移到 Steam/Epic 后读档失败游戏属于格式不兼容清单或平台版本差异大对照README.md中的不兼容清单已确认支持的游戏若也失败检查存档目录是否放对位置、游戏版本是否一致进阶拓展容器解析原理与添加新游戏原理要点对应main.py中的函数discover_games遍历games.json中的包名在%LOCALAPPDATA%\Packages下查找已安装的包find_user_containers进入包名\SystemAppData\wgs按用户ID_标题ID目录区分多账户并尝试把用户 ID 换成 gamertagread_user_containers读取containers.index按 GUID 定位每个容器目录如...\{容器GUID}\container.1中的真实文件同时校验文件是否齐全这就是同步警告的来源get_save_paths按 handler 类型重组文件。通用 handler 有1c1f一容器一文件如 Atomic Heart、1cnf一容器多文件如 Hades、1cnf-folder容器转目录如 Persona 5 RoyalStarfield、Forza Horizon 5 等则使用专属 handler 做更复杂的重组例如把碎片文件按序拼接回.sfs。为它添加新游戏支持有两条路提需求零代码在仓库的 issue 中按 Support for [Game name] 模板提交。模板会引导你找到该游戏的包名形如开发商.可能的游戏名_一串字符并把SystemAppData下的wgs文件夹打包附上维护者据此实现支持。自己写有 Python 基础在games.json新增一条name/package/handler记录若现有 handler 不适用在main.py的get_save_paths中实现一个新的分支参考starfield或palworld的写法即可。保持更新定期执行git pull拉到最新代码游戏支持列表和容器解析逻辑都在持续补充。XGP-save-extractor 把 XGP 存档迁移中最繁琐、最易出错的环节压缩成了一条命令配合备份 ZIP 与目标平台实测换设备或换平台的进度保留就变得可控了。【免费下载链接】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),仅供参考