Convertisme™ 发表于 2018-8-17 16:44

《怪物猎人:世界》防掉档 Steam存档备份批处理(全自动后台静默运行,可开机自启)

本帖最后由 Convertisme™ 于 2018-9-10 22:26 编辑

鉴于很多人反应Steam版MHW出现掉档,又要重新体验一遍剧情,所以花了些时间做了这个批处理

特点:
*无需任何其他软件支持
*可以自定义备份间隔时间
*开机后可在后台静默运行
*按天为单位进行覆盖备份
*暂时只针对本地备份,当然也可以自定义结合OneDrive等云盘

使用说明:
本备份批处理需要在MHW存档目录下运行
Steam把批处理放在路径 X:\Steam\userdata\XXXXXXXXX\582010

8.22更新:
遇到保存失败的情况,重命名 X:\Steam\userdata\XXXXXXXXX\582010\3295583103 这个文件
或者备份并移走原有remote目录,新建一个 remote,并在游戏中保存
初步预计是 remote.vdf 记录了多余信息 和 3295583103 交互失败?导致保存失败
总之remote目录下最好只有一个SAVEDATA1000/slot00,虽然有多的也不会给你同步...
点击查看Steam上的 Monster Hunter: World 云存档

X:\Steam\userdata\XXXXXXXXX\582010 ↓



X:\Steam\userdata\XXXXXXXXX\582010\backups ↓

批处理代码:
复制之后拷入新建txt,再另存为mhwbak.bat,放在存档目录 X:\Steam\userdata\XXXXXXXXX\582010
之前是在remote目录下运行,现在改成了582010
用选中复制,不要点复制代码按钮会丢失换行
@echo off &setlocal enabledelayedexpansion &title MHWbak

echo STEAM怪物猎人世界备份批处理 使用说明:
echo 1.本备份批处理需在MHW存档路径"remote"的上层目录"582010"下运行
echo 一般路径是 X:\Steam\userdata\XXXXXXXXX\582010
echo 当前目录是 %cd%
echo 2.自定义清理存档天数,修改"...SAVEDATA1000_* /d -7 /c.."中的"-7"即可,单位为天
echo 清理旧存档只针对"SAVEDATA1000_08_17"这样的文件名格式, 不会误伤原存档。
echo 3.自定义循环时间,修改"ping -n 1800 127.1>nul"中的"1800"即可,单位为秒
echo 4.新建txt拷入黑括号内代码【CreateObject("WScript.Shell").Run "MHWBAK.bat",0】
echo 同一目录下另存为"MHWBAK.vbs", 运行此vbs即可隐藏CMD窗口在后台进程运行。
echo 5.MHWBAK.vbs的快捷方式放入 %AppData%\Microsoft\Windows\Start Menu\Programs\Startup 即可实现开机自动运行。
echo 进程中的"cmd.exe" 和 "ping.exe" 即是本批处理和循环程序。
echo ---------------------------------------------------------
echo 清理: MHW 7天前的旧存档备份..
forfiles /s /m SAVEDATA1000_* /d -7 /c "cmd /c del @file /f" &&echo [ %time:~,-3% -- Clean Bak ] 清理完成~
goto :Idle-Loop

:Idle-Loop
echo [ %time:~,-3% -- Idle Loop ] 等待 MHW 运行, 30分钟后再次检测..
tasklist | find /i "MonsterHunterWorld.exe" && goto :Backup-Loop
ping -n 1800 127.1>nul
goto :Idle-Loop

:Backup-Loop
echo [ %time:~,-3% -- Backup Loop ] MHW 运行中, 备份存档..
echo f|xcopy /y "%cd%\remote\SAVEDATA1000" "%cd%\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%">nul &&echo [ %time:~,-3% -- Backup Loop ] 成功备份存档到 582010\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%
echo [ %time:~,-3% -- Backup Loop ] 等待下个循环(30分钟)..
ping -n 1800 127.1>nul
tasklist | find /i "MonsterHunterWorld.exe">nul
if %errorlevel%==0 goto :Backup-Loop
if %errorlevel%==1 goto :Idle-LoopVBS代码:
复制之后拷入新建txt,另存为 mhwbak.vbs,同样在 X:\Steam\userdata\XXXXXXXXX\582010 目录
CreateObject("WScript.Shell").Run "mhwbak.bat",0


运行mhwbak.bat,有cmd窗口(如上图)
运行mhwbak.vbs,无cmd窗口,后台静默运行
进程中的"cmd.exe" 和 "ping.exe" 即是本批处理和循环程序。
把 mhwbak.vbs 的快捷方式放入(%AppData%\Microsoft\Windows\Start Menu\Programs\Startup)即可开机自启

批处理默认运行流程:
先清理7天前的旧存档备份,然后进入循环A
循环A:检测进程MonsterHunterWorld.exe,如存在进入循环B,不存在30分钟后再次检测
循环B:备份存档,30分钟后检测进程MonsterHunterWorld.exe,如存在继续循环B,不存在回到循环A

自定义批处理:
修改清理存档天数,修改"...SAVEDATA1000_* /d -7 /c.."中的"-7"即可,单位为天
修改循环时间,修改"ping -n 900 127.1>nul"中的"900"即可,单位为秒

手动备份版本:
@echo off&setlocal enabledelayedexpansion &title MHWbak

echo MHW存档备份批处理(手动备份版本)
echo 本批处理需要在怪物猎人世界用户目录"582010"下运行
echo 一般路径为 X:\Steam\userdata\XXXXXXXXX\582010
echo 当前目录为 %cd%
echo ---------------------------------------------------------
echo 清理: MHW 7天前的旧存档备份..
forfiles /s /m SAVEDATA1000_* /d -7 /c "cmd /c del @file /f" &&echo 清理完成
timeout /t 2
echo f|xcopy /y "%cd%\remote\SAVEDATA1000" "%cd%\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%">nul &&echo 成功备份存档到 582010\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%
timeout /t 3
exit

842356712 发表于 2018-8-17 17:08

本帖最后由 842356712 于 2018-8-17 17:19 编辑

感谢分享

坏鱼炒年糕 发表于 2018-8-17 22:00

感谢分享

lcanloveyou147 发表于 2018-8-21 19:56


感谢分享

ポ④依然丅午茶 发表于 2018-8-21 20:05

多谢分享

ysgeorge 发表于 2018-8-21 20:53

谢谢分享

lcanloveyou147 发表于 2018-9-3 19:06

楼主,你好,为什么我没有自动保存存档呢?是我哪里没设置好吗?mhwbak.vbs快捷方式已经放在开机启动里了

lcanloveyou147 发表于 2018-9-4 23:36

运行bat显示无效的参数数量

z549844976 发表于 2018-9-4 23:40

感谢分享!

幻月 发表于 2018-9-5 21:58

见楼上,我也是反馈无效参数

Convertisme™ 发表于 2018-9-5 23:37

lcanloveyou147 发表于 2018-9-3 19:06
楼主,你好,为什么我没有自动保存存档呢?是我哪里没设置好吗?mhwbak.vbs快捷方式已经放在开机启动里了 ...

有个参数漏了双引号,路径有空格的话会识别错误
%cd%\remote\SAVEDATA1000 改成 "%cd%\remote\SAVEDATA1000" 应该就好了

Convertisme™ 发表于 2018-9-5 23:40

幻月 发表于 2018-9-5 21:58
见楼上,我也是反馈无效参数

刚刚已修正
有个参数漏了双引号,路径有空格的话会识别错误
%cd%\remote\SAVEDATA1000 改成 "%cd%\remote\SAVEDATA1000" 应该就好了

pigsea 发表于 2018-9-6 01:05

本帖最后由 pigsea 于 2018-9-6 01:11 编辑

感谢分享。GameSave Manager也很好用。








http://www.gamesave-manager.com/

hhghghggh 发表于 2018-9-6 16:36

666666666666666

无聊的懒龙 发表于 2018-9-8 15:31

本帖最后由 无聊的懒龙 于 2018-9-8 16:11 编辑

请问如何自定义备份存档的位置和备份在那个文件夹?

Convertisme™ 发表于 2018-9-10 22:36

无聊的懒龙 发表于 2018-9-8 15:31
请问如何自定义备份存档的位置和备份在那个文件夹?

把相对路径改成绝对路径即可, 比如
echo f|xcopy /y "%cd%\remote\SAVEDATA1000" "%cd%\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%"
改成
echo f|xcopy /y "D:\Games\Steam\userdata\123456789\582010\remote\SAVEDATA1000" "D:\Games\Monster Hunter World\backups\SAVEDATA1000_%date:~5,2%_%date:~8,2%"
这样批处理也无需放在582010目录下了



无聊的懒龙 发表于 2018-9-11 13:05

Convertisme™ 发表于 2018-9-10 22:36
把相对路径改成绝对路径即可, 比如
echo f|xcopy /y "%cd%\remote\SAVEDATA1000" "%cd%\backups\SAVEDAT ...

非常感谢!

longqm 发表于 2018-10-14 14:19

8.22更新:
遇到保存失败的情况,重命名 X:\Steam\userdata\XXXXXXXXX\582010\3295583103 这个文件
或者备份并移走原有remote目录,新建一个 remote,并在游戏中保存

没有3295583103这个文件怎么办??保存失败怎么解决,三种办法都用过了不好使

czy7758525 发表于 2018-11-4 01:30

666666666666666

2122785 发表于 2018-11-4 19:59

大佬 储存丢失怎么办 云存档一直都勾着状态 就是玩的时候steam提示掉了 然后从新上就没储存了

鼠见仓人咬 发表于 2018-11-5 09:16

本帖最后由 鼠见仓人咬 于 2018-11-5 09:23 编辑

救救孩子 网吧党回档了不知所措

鼠见仓人咬 发表于 2018-11-5 09:18

本帖最后由 鼠见仓人咬 于 2018-11-5 09:24 编辑

老哥今天网吧里没上传完steam云存档就关机了 结果回档到昨天 后来从steam云上把 SAVEDATA1000(11月4号)和slot00(11月5号)都下回来了 还能恢复吗

snoopyguo 发表于 2018-12-29 21:20

西行寺焚岚 发表于 2018-12-30 07:36

绝世好文,不得不顶

king1125 发表于 2019-1-3 21:35

本帖最后由 king1125 于 2019-1-3 23:41 编辑

好东西,这下再也不怕几百小时的存档丢失白打了,多谢!

lfsatan 发表于 2019-8-24 21:53

收藏了 很好用

lfsatan 发表于 2019-8-28 10:55

备份的名字怎么是SAVEDATA1000_ 周_

a943700635 发表于 2019-12-16 04:54

感谢分享

2008re 发表于 2019-12-16 04:54

支持一下!!http://bbs.blacksheepgame.com.weibosa.com/img/emoji1.jpghttp://bbs.blacksheepgame.com.weibosa.com/img/emoji2.jpghttp://bbs.blacksheepgame.com.weibosa.com/img/emoji3.jpghttp://bbs.blacksheepgame.com.weibosa.com/img/emoji4.jpg

qiuwufeng 发表于 2020-2-18 22:25

感谢分享
页: [1]
查看完整版本: 《怪物猎人:世界》防掉档 Steam存档备份批处理(全自动后台静默运行,可开机自启)