elona吧 关注:78,844贴子:1,144,581

回复:【教程】免费版如何进行自动备份

只看楼主收藏回复

启动后,在“本地策略-审核策略”中双击打开“审核进程跟踪”,设为“成功”。



IP属地:浙江35楼2024-06-27 18:18
回复
    一切完成后,就可以启动游戏测试了。
    注意,即使关闭了游戏,在你设置的持续时间前,仍然会按照你设置的重复间隔进行持续备份。如果你要停止备份,打开任务计划程序,选中你的任务后“停止”它。


    IP属地:浙江36楼2024-06-27 18:20
    收起回复
      2025-12-25 21:57:22
      广告
      不感兴趣
      开通SVIP免广告
      如果你发现运行secpol.msc(本地安全策略管理工具)时提示不存在该程序,说明你的Windows版本(通常是家庭版)没有安装此软件(以防你乱搞),新建一个.cmd文件,并输入以下内容,然后运行一次,直到提示安装完成可以退出。安装完成后,此.cmd文件可以删除。
      同样使用ANSI编码。将那个@某人改成@echo。
      内容如下:
      @echo off
      pushd "%~dp0"
      dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
      dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
      for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
      pause


      IP属地:浙江38楼2024-06-27 18:33
      收起回复
        六、参考文献
        引用均未经过原作者同意。如果有侵权,请相关利益人联系我进行删除。
        1.Windows使用bat脚本定时备份文件夹并删除一定日期之前的备份和日志 by King、Wang(脚本 by Blademainer)
        https://www.cnblogs.com/wmyll/p/14331264.html
        2.Windows 脚本自动备份,通过FTP传输到其他服务器,并设置定时任务 by 官康强
        https://blog.csdn.net/guankangqiang/article/details/106135902?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-6.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-6.not_use_machine_learn_pai
        3.BAT批处理文件的后台运行不弹出窗口 by skypeGNU
        https://blog.csdn.net/skypeGNU/article/details/12708221
        4.请问任务计划程序怎么设置触发条件为打开或者关闭某一个应用时?提问 by 张**,回答 by Lingg - MSFT
        https://answers.microsoft.com/zh-hans/windows/forum/all/%e8%af%b7%e9%97%ae%e4%bb%bb%e5%8a%a1%e8%ae%a1/c16d9c66-a109-471d-989a-317295e8946b
        5.win11开启本地组策略、本地安全策略 by X.一只酷酷鸭
        https://blog.csdn.net/Xyysn/article/details/134800339


        IP属地:浙江39楼2024-06-27 18:41
        回复
          本贴完结。
          本方法不仅仅能帮助你防止突然断电等意外导致的坏档,还可以为你提供尝试Loss、Abnormal的可能性,让你更有勇气和能力去挑战高难度,得到更多乐趣。
          楼主还做了一个备份持续时间结束的提醒重启功能,你可以参考 “bat弹出提示对话框_bat msgbox”by_小青年儿_ 尝试也做一个,防止你忘记续备份。
          https://blog.csdn.net/l09711/article/details/8738341


          IP属地:浙江40楼2024-06-27 18:46
          回复
            厉害


            IP属地:广东来自Android客户端41楼2024-06-27 18:52
            回复
              @霜冷长弓 申精,谢谢吧主


              IP属地:浙江来自Android客户端42楼2024-06-27 19:14
              收起回复
                终于更完了,累死了


                IP属地:浙江来自Android客户端43楼2024-06-27 19:17
                回复
                  2025-12-25 21:51:22
                  广告
                  不感兴趣
                  开通SVIP免广告
                  另外,我在这个小角落发表一个暴论,没有不尊重汉化组的意思,但是我觉得在自动备份、显示NPC姓名这种非常重要的功能上,免费版也添加是更为人道、更为合适的做法。长期捐赠的奖励改为与画面、外观、音频有关的内容,更为符合独立游戏普遍采用的EULA所提倡的赞助模式。当然,我尊重汉化组付出的劳动,也支持汉化组收取赞助。


                  IP属地:浙江来自Android客户端44楼2024-06-27 19:22
                  回复
                    另外补充一个注意事项:如果你已经完成了上文的所有设置,那么就不可以再对备份文件夹或备份所使用的.bat、.vbs文件进行重命名,或是移动它们的位置。如果你一定要这么做,那么必须重新修改与它们有关的路径设定。


                    IP属地:浙江来自Android客户端46楼2024-06-27 21:37
                    回复
                      干货


                      IP属地:浙江来自Android客户端47楼2024-06-28 05:01
                      回复
                        厉害


                        IP属地:四川来自Android客户端48楼2024-06-28 15:24
                        回复
                          补充:对于最后一种方案,在短时间内多次启动游戏会制造大量的备份,这个问题楼主没有找到解决方案建议当你需要短时间内多次启动游戏(比如调试美化包)时,先打开任务计划程序,将你的任务禁用,完成后重新启用。或者你可以只设置开机备份。


                          IP属地:浙江来自Android客户端49楼2024-06-28 16:39
                          回复
                            修正:楼主实际使用过程中,发现“自动备份存档.bat”脚本存在问题,一旦备份时间为0点~9点,就无法备份成功,此问题源于原作者编写脚本时不严谨。内容更正为如下(其实只改了“set timeStr=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%”这一句):
                            :: 本脚本能备份指定文件夹下的所有文件夹并以日期的形式来存放每次备份的文件夹,
                            :: 同时,能删除指定时间之前的备份文件夹。
                            :: bakPath 要备份的目录,必须以\结尾
                            :: bakTargetPath 备份文件存储路径,必须以\结尾
                            :: DaysAgo 该参数表示要删除多少天之前的备份
                            :: logDaysAgo 该参数表示要删除多少天之前的日志文件
                            :: 该脚本作者:Blademainer
                            @璐村惂鐢ㄦ埛_000076K馃惥 off
                            :: for /f "tokens=1-3 delims=- " %%1 in ("%date%") do set ttt=%%1%%2%%3
                            :: for /f "tokens=1-3 delims=.: " %%1 in ("%time%") do set ttt=%ttt%-%%1%%2%%3
                            :: 要备份的目录,必须以\结尾
                            set bakPath=D:\Entertainment\elona\elonaplus2.22\save\
                            :: 备份文件存储路径(可以是网络路径,前提是必须要有权限管理该路径下的文件夹)
                            set bakTargetPath=D:\Entertainment\elona\SaveBackup\
                            :: 该参数表示要删除多少天之前的备份(比如今天是2012年12月31日,那么20121221的文件不会被删除,20121220或比之小的文件夹将会被删除)
                            set DaysAgo=30
                            :: 该参数表示要删除多少天之前的日志文件
                            set logDaysAgo=%DaysAgo%
                            set logDir=%bakTargetPath%\log\
                            set dateStr=%date:~0,4%%date:~5,2%%date:~8,2%
                            if %time:~0,2% leq 9 (set timeStr="0"%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%)else set timeStr=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
                            set indexStr=%dateStr%_%timeStr%
                            for /f "tokens=1-3 delims=- " %%1 in ("%time%") do set beautyTime=%%1%%2%%3
                            set logFile=%logDir%%indexStr%.log
                            call :LastFolder %bakPath% bakName
                            set bakDataFolder=%bakTargetPath%%indexStr%\
                            set bakDataPath=%bakDataFolder%%bakName%\
                            echo bakDataPath======%bakDataPath%
                            if not exist %logDir% mkdir %logDir%
                            echo 开始备份文件夹
                            echo ------------------ %date% %beautyTime% ------------------ >> %logFile%
                            if not exist %bakDataPath% mkdir %bakDataPath%
                            xcopy %bakPath%* %bakDataPath% /c/s/e/y/r >> %logFile%
                            IF ERRORLEVEL 1 ECHO ------------------ 文件拷贝失败 ------------------ >> %logFile%
                            IF ERRORLEVEL 0 ECHO ------------------ 文件拷贝成功 ------------------ >> %logFile%
                            call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
                            set /a PassDays-=%DaysAgo%
                            call :DaysToDate %PassDays% DstYear DstMonth DstDay
                            set DstDate=%DstYear%%DstMonth%%DstDay%
                            echo %DaysAgo%天前的日期是%DstDate%
                            call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% logPassDays
                            set /a logPassDays-=%logDaysAgo%
                            call :DaysToDate %logPassDays% DstYear DstMonth DstDay
                            set logDstDate=%DstYear%%DstMonth%%DstDay%
                            echo %logDaysAgo%天前的日期是%logDstDate%
                            echo 开始删除数据文件夹
                            echo 开始删除数据文件夹 >> %logFile%
                            setlocal enabledelayedexpansion
                            for /f "delims=" %%s in ('dir /b /ad "%bakTargetPath%"') do (
                            set d=%%s
                            set dateParse=!d:~0,8!
                            echo 截取的日期为:!dateParse!
                            set stDate=%DstDate%
                            set path=%bakTargetPath%!d!
                            echo 当前的路径!path!
                            if !dateParse! lss !stDate! call :DeleteDirectory !path!
                            )
                            echo 开始删除日志文件夹%logDir%
                            echo 开始删除日志文件夹 >> %logFile%
                            for /f "delims=" %%s in ('dir /a-d /b "%logDir%"') do (
                            set d=%%s
                            set dateParse=!d:~0,8!
                            echo 截取的日期为:!dateParse!
                            set stDate=%logDstDate%
                            set path=%logDir%!d!
                            echo 当前的路径!path!
                            if !dateParse! lss !stDate! call :DeleteFile !path!
                            )
                            endlocal
                            goto :eof
                            :LastFolder %1 folderName
                            Setlocal ENABLEDELAYEDEXPANSION
                            set string=%1
                            set ch=\
                            set last=%string:~-1%
                            if "%last%"=="%ch%" (set "string=%string:~0,-1%")
                            set str=%string%
                            :next
                            if not "%str%"=="" (
                            if "!str:~-1!"=="%ch%" goto last
                            set rsString=!str:~-1!%rsString%
                            set "str=%str:~0,-1%"
                            goto next
                            )
                            :last
                            set rsString=%rsString: =%
                            echo 结果:%rsString%
                            endlocal&set %2=%rsString%&goto :EOF
                            :DeleteDirectory %1
                            setlocal ENABLEEXTENSIONS
                            echo ------------------ %1 ------------------
                            rd /s /q %1
                            echo ------------------ 成功删除文件夹: %1 ------------------ >> %logFile%
                            endlocal&goto :EOF
                            :DeleteFile %1
                            setlocal ENABLEEXTENSIONS
                            echo ------------------ %1 ------------------
                            del /f /s /q /a %1
                            echo ------------------ 成功删除文件: %1 ------------------ >> %logFile%
                            endlocal&goto :EOF
                            :DateToDays %yy% %mm% %dd% days
                            setlocal ENABLEEXTENSIONS
                            set yy=%1&set mm=%2&set dd=%3
                            if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
                            set /a dd=100%dd%%%100,mm=100%mm%%%100
                            set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
                            set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
                            endlocal&set %4=%j%&goto :EOF
                            :DaysToDate %days% yy mm dd
                            setlocal ENABLEEXTENSIONS
                            set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
                            set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
                            set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
                            (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
                            endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF


                            IP属地:浙江51楼2024-07-13 10:22
                            收起回复
                              2025-12-25 21:45:22
                              广告
                              不感兴趣
                              开通SVIP免广告
                              听说有一个自动存档,关掉这个不行吗?(萌新不懂)


                              IP属地:山东来自Android客户端52楼2025-06-18 23:13
                              回复