Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- set savedir=C:\Users\%USERNAME%\Zomboid\Saves
- set software=Winrar
- :Main
- set compresserror=0
- set selecterror=0
- set mode=null
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo Welcome to the Project Zomboid Save Backup Utility!
- echo Created by Mr. Nekuromu
- echo V0.1-(1/24/2022)
- echo.
- echo.
- echo 1) Backup Apocalypse Save Data
- echo 2) Backup Multiplayer Save Data
- echo 3) Backup Survivor Save Data
- echo 4) Restore Apocalypse Save Data
- echo 5) Restore Multiplayer Save Data
- echo 6) Restore Survivor Save Data
- echo 7) Exit
- echo.
- echo 8) Toggle Compression Software
- echo.
- echo Compression Software mode: %software%
- echo.
- set /P c=Select Mode:
- if /I "%c%" EQU "1" set mode=Apocalypse& goto FindDir
- if /I "%c%" EQU "2" set mode=Multiplayer& goto FindDir
- if /I "%c%" EQU "3" set mode=Survivor& goto FindDir
- if /I "%c%" EQU "4" set mode=Apocalypse& goto Restore
- if /I "%c%" EQU "5" set mode=Multiplayer& goto Restore
- if /I "%c%" EQU "6" set mode=Survivor& goto Restore
- if /I "%c%" EQU "7" goto Exit
- if /I "%c%" EQU "8" goto ToggleSoftware
- goto Main
- :ToggleSoftware
- if %software%==Winrar (set software=7-Zip) else set software=Winrar
- goto Main
- :FindDir
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Finding Save Directory...
- cd "%savedir%"
- echo.
- timeout 4
- :PickSave
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Getting Saves List...
- cd "%savedir%\%mode%"
- timeout 4
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo Highlight the desired %mode% Save, then [CTRL+C] it.
- echo =================================================
- dir /b /a:d | findstr /v /i "\_player$"
- echo.
- set /P sselected=Which to backup?[CTRL+V Here]:
- cls
- echo ===[Project Zomboid Mod Updater]===
- echo.
- echo.
- echo.
- echo Selected %sselected%...
- IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with selection... [ErrorLevel:%ERRORLEVEL%] &set selecterror=1)
- if %selecterror%==1 pause
- if %selecterror%==1 goto Main
- timeout 4
- :Backup
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%a_%%b_%%c)
- For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a-%%b)
- set date_and_time=%mydate%_@_%mytime%
- set backupfoldername=%sselected%_%date_and_time%
- mkdir "%savedir%\_backups\%mode%\%backupfoldername%"
- echo Copying Save...
- echo.
- timeout 4
- xcopy /e /v /i "%savedir%\%mode%\%sselected%" "%savedir%\_backups\%mode%\%backupfoldername%\%sselected%"
- if %mode%==Multiplayer xcopy /e /v /i "%savedir%\%mode%\%sselected%_player" "%savedir%\_backups\%mode%\%backupfoldername%\%sselected%_player"
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Backup created. "%backupfoldername%"
- echo.
- timeout 4
- :CheckSoftware
- if %software%==Winrar (goto Winrarcompress) else goto 7Zipcompress
- :7Zipcompress
- set path="C:\Program Files\7-Zip";%path%
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Compressing Backup Save Data... (This can take a while depending on the save size)
- 7z a -t7z -mx9 -r "%savedir%\_backups\%mode%\%backupfoldername%.7z" "%savedir%\_backups\%mode%\%backupfoldername%\*"
- IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
- if %compresserror%==1 pause & goto CompressErrorChoice
- goto DeleteUncompressed
- :Winrarcompress
- set path="C:\Program Files\WinRAR\";%path%
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Compressing Backup Save Data... (This can take a while depending on the save size)
- winrar.exe a -afrar -m5 -ep1 -r -ibck "%savedir%\_backups\%mode%\%backupfoldername%.rar" "%savedir%\_backups\%mode%\%backupfoldername%\*"
- IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
- if %compresserror%==1 pause & goto CompressErrorChoice
- :DeleteUncompressed
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Deleting Uncompressed Save Data...
- RMDIR /S /Q "%savedir%\_backups\%mode%\%backupfoldername%"
- echo.
- timeout 4
- :Backup_Complete
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Backup, and Compression complete. Returning to Main Menu...
- echo.
- timeout 4
- goto Main
- :Restore
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Getting Save Backups List...
- cd "%savedir%\_backups\%mode%"
- timeout 4
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo Highlight the desired %mode% backup, then [CTRL+C] it.
- echo =================================================
- dir /b | find /V ".rar"
- dir /b | find /V ".7z"
- echo.
- set /P bselected=Which to restore?[CTRL+V Here]:
- if %software%==Winrar set path="C:\Program Files\WinRAR\";%path%
- if %software%==7-Zip set path="C:\Program Files\7-Zip";%path%
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Restoring %bselected%... (This can take a while depending on the save size)
- if %software%==Winrar winrar.exe x -afrar -ibck "%bselected%" *.* "%savedir%\_restore_temp_%bselected%\"
- if %software%==7-Zip 7z e -t7z "%bselected%" *.* "%savedir%\_restore_temp_%bselected%\"
- IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Restoration... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
- if %compresserror%==1 pause & goto RestoreErrorChoice
- xcopy /e /v /i "%savedir%\_restore_temp_%bselected%\*.*" "%savedir%\%mode%"
- timeout 4
- :DeleteRestored
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Cleaning up temp restoration files...
- RMDIR /S /Q "%savedir%\_restore_temp_%bselected%"
- timeout 4
- goto Main
- :Exit
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- echo Thanks for using Project Zomboid Save Backup Utility!
- echo.
- timeout 5
- EXIT
- :CompressErrorChoice
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- set /P c=Due to an Error, Backup Compression failed. Would you like to delete the uncompressed backup[Y/N]?
- if /I "%c%" EQU "Y" goto DeleteUncompressed
- if /I "%c%" EQU "N" goto Main
- goto Main
- :RestoreErrorChoice
- cls
- echo ===[Project Zomboid Save Backup Utility]===
- echo.
- echo.
- echo.
- set /P c=Due to an Error, Restoration failed. Would you like to clean up the restoration attempt's leftover files[Y/N]?
- if /I "%c%" EQU "Y" goto DeleteRestored
- if /I "%c%" EQU "N" goto Main
- goto Main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement