跳轉到主要內容
使用此工具管理 PC 上的 XGameSave 資料。請勿在遊戲執行時使用。這樣做可能會使遊戲的遊戲存檔處於不確定的狀態。 此工具需要在您的電腦上安裝遊戲套件。這項需求與主機不同,在主機上,透過 Visual Studio 部署就足以讓 xbstorage 與遊戲的遊戲存檔互動。您可以使用 makepkg 產生 PC 套件,並使用 wdapp install 安裝。
如果您需要管理主機上的 XGameSave 資料,必須使用管理主機上的 XGameSave 儲存空間 (xbstorage.exe)。

xgamesaveutil reset

僅刪除電腦上指定 PFN 與 SCID 的本機資料,不影響雲端中的存檔。如果在呼叫 xgamesaveutil reset 之後啟動遊戲,雲端中現有的存檔會同步至裝置。 有兩種方式可以指定要刪除之資料的位置:
  • 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
  • PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例

xgamesaveutil import

將 filename 中指定的資料匯入儲存空間。此 XML 檔案包含資料。如需範例, 請參閱本文中的 xgamesaveutil generate。如需檔案 XML 格式的詳細資訊,請參閱 本文中的匯入與匯出檔案格式。 有兩種方式可以指定要將 XGameSave 資料匯入至何處:
  • 如果使用 /context 參數,且 <filename> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
  • PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
在 PC 上,此工具會將匯入的資料直接寫入本機儲存空間。它不會在匯入之前或之後與雲端同步,也不會自動將匯入的資料上傳至雲端。資料會在下次遊戲啟動並取得遊戲存檔提供者 (例如,呼叫 XGameSaveInitializeProvider) 時上傳。這與主機工具 (xbstorage) 不同,後者會在匯入之前與雲端同步,並在匯入之後立即上傳資料。
如果具有相同主要服務設定識別碼 (SCID) 的遊戲正在執行,此作業可能會造成競爭情況,並使 XGameSave 儲存空間的內容處於不確定的狀態。 如果未指定 /replace,則在寫入輸入檔案中指定的 Blob 之前,會先清除輸入檔案中指定的容器。 XGameSave 儲存空間中未在輸入檔案中指定的容器不會受到影響。

xgamesaveutil export

將 XGameSave 儲存空間中的資料匯出至 outfile 所指定的檔案。此 XML 檔案包含匯出的資料。如需範例,請參閱 xgamesaveutil generate。如需 XML 格式的詳細資料,請參閱匯入與匯出檔案格式。 有兩種方式可以指定要從何處匯出 XGameSave 資料:
  • 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
  • PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
在 PC 上,此工具會直接從本機儲存空間讀取資料。它不會在匯出之前與雲端同步。匯出的資料反映的是目前磁碟上的內容,可能不包含最新的雲端資料。
如果具有相同主要 SCID 的應用程式正在執行,此作業可能會造成競爭情況,並使 XGameSave 儲存空間的內容處於不確定的狀態。

xgamesaveutil delete

刪除 XGameSave 儲存空間中的所有資料。 若要正確執行此作業,您必須:
  1. 確定遊戲未在執行
  2. 執行 xgamesaveutil delete 以立即刪除本機資料。
  3. 啟動遊戲並取得遊戲存檔提供者。這可讓 xgamesaveutil 自動刪除雲端資料。
有兩種方式可以指定要從何處刪除 XGameSave 資料:
  • 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
  • PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
刪除指定的 XGameSave 儲存空間之前,系統會嘗試使用與執行中的應用程式取得儲存空間時相同的 邏輯與雲端進行同步。 如果具有相同主要 SCID 的應用程式正在執行,此作業可能會造成競爭情況,並使 XGameSave 儲存空間的內容處於不確定的狀態。

xgamesaveutil generate

產生虛擬資料,並將其儲存至 <filename> 所指定的檔案。如需檔案 XML 格式的詳細資訊, 請參閱本文中的匯入與匯出檔案格式。 SCID 會設為 00000000-0000-0000-0000-000000000000。您可以在檔案產生後直接編輯檔案來 變更這些值。 範例
位元組資料是簡單的遞增序列。例如,5 位元組的 Blob 會具有下列位元組:00 01 02 03 04。 若要指定每位使用者的 XGameSave 儲存空間,請將 XML 檔案中的 Account 節點變更為類似下列範例的內容。

匯入與匯出檔案格式

與 import、export 及 generate 命令搭配使用的 XML 檔案具有下列範例所示的格式。
此 XML 檔案中的資料格式與平台上的格式並不相同。此格式將來可能會變更, 因此應將這些檔案視為中繼或公用程式格式,而非封存格式。 ContextDescription 節點為選用。如果您要為使用者建立 XGameSave 儲存空間,可以使用 <Account msa="user@example.com"/> 取代 <Account machine="true"/>。否則,可以在命令列上 為匯入指定內容。 Blob 與容器應具有產生檔案所針對之遊戲或應用程式為其指定的對應名稱。 每個 Blob 的內容應為包裝在 CDATA 標記中的字串,此字串是藉由呼叫 CryptBinaryToStringW 並搭配旗標 CRYPT_STRING_BASE64,提供該 Blob 的資料作為原始位元組 陣列所產生。反之,可以呼叫 CryptStringToBinary 並提供先前加密的字串,將 Blob 資料轉換回來。 如需使用這兩個函式的範例,請參閱 CryptBinaryToString returns invalid bytes。

另請參閱

遊戲存檔概觀 XGameSaveFiles 概觀 管理主機上的 XGameSave 儲存空間 (xbstorage.exe)
最後修改於 2026年10月8日