Overclock.net banner
1 - 20 of 258 Posts

· Registered
Joined
·
1,443 Posts
Discussion Starter · #1 ·
Hi guys,

This tool has been created to replace the built in Steam backup and restore utility. Generally speaking it will compress games faster and/or smaller (depending on the settings) than the default backup feature in Steam. This tool also tends to be a lot more stable and it doesn't break the file into segments unlike the utility built into steam.

Main Features:
  • Includes a command line interface so you can setup scheduled backups.
  • After the initial Backup you have the ability to only backup games that have been updated since the previous update.
  • Choose what games to backup and restore.
  • Choose to restore to an alternative steam library.*
  • Automatically installs games after restore.*
  • Fully multithreaded and optimized for up to 8 core CPUs.
  • Choose the compression level and how many thread to use.
  • Will only use "spare" CPU time.
  • Can automatically find steam folder.
  • Checks online for new updates.
  • High compression ratio due to 7z's excellent LZMA and LZMA2 compression algorithms.
* If the game uses steams new cache format and this cache has the correct information available.

Download Here:
Steam Backup Tool
Source

Change List

This program requires .NET Framework 4.0.

Screen Shots:
Preview of version 1.6.1.1
 

· Premium Member
Joined
·
6,082 Posts
This is awesome, +1
 

· Registered
Joined
·
1,443 Posts
Discussion Starter · #4 ·
Quote:
Originally Posted by Stealth2o;12788668
This looks good. Thanks! +
Quote:
Originally Posted by Outcasst;12788675
This is awesome, +1
Thanks, I was surprised that i couldn't find anything that does this in the whole interwebs.

(implying the the internet is something you go into)
 

· Premium Member
Joined
·
2,645 Posts
Code:

Code:
@echo off

setlocal

REM Location of 7z.exe (Must be command line version)
:input1
echo Where is the location of the 7z.exe file? (Command Line version)
set exe=
set /P exe=Type input: %=%
if "%exe%"=="" goto input1

REM Location of Steam folder
:input2
echo Where is the location of the steam install? Leave trailing backslash! (No \ at end) (Full directory - E.G. C:\Program Files(x86)\steam)
set root=
set /P root=Type input: %=%
if "%root%"=="" goto input2

REM Location of destination folder
:input3
echo Where do you want it to be backed up to? Leave trailing backslash! (No \ at end) (Full directory - E.G. E:\steam_backup, directory must

exist already!)
set dest=
set /P dest=Type input: %=%
if "%dest%"=="" goto input3

echo location of Steam folder: %root%
echo Destination of backup files: %dest%

echo. 
echo Starting to backup 'steamapps' folder (Excluding common folder).
"%exe%" a -t7z "%dest%\steamapps.7z" "%root%\steamapps\*" -mx9 -xr!common > NUL
if exist "%dest%\steamapps.7z" echo '%dest%\steamapps.7z' has been backed up.

echo. 
echo Starting to backup games in 'common' folder (individually).
for /F "tokens=* usebackq" %%G in (`dir "%root%\steamapps\common" /A:D /B`) do (
echo. 
echo Starting to backup '%%G'.
"%exe%" a -t7z "%dest%\common\%%G.7z" "%root%\steamapps\common\%%G" -mx9 > NUL
if exist "%dest%\%%G.7z" echo '%%G' has been backed up.
)

echo. 
echo Finished backing up steamapps folder.

endlocal
pause
Made it take user input in .bat. No need for editing of file, might make a GUI if you want
smile.gif
 

· Premium Member
Joined
·
2,645 Posts
Code:

Code:
@echo off

setlocal

REM Location of 7z.exe (Must be command line version)
:input1
echo Where is the location of the 7z.exe file? (Command Line version)
set exe=
set /P exe=Type input: %=%
if "%exe%"=="" goto input1

REM Location of Steam folder
:input2
echo Where is the location of the steam install? Leave trailing backslash! (No \ at end) (Full directory - E.G. C:\Program Files(x86)\steam)
set root=
set /P root=Type input: %=%
if "%root%"=="" goto input2

REM Location of destination folder
:input3
echo Where do you want it to be backed up to? Leave trailing backslash! (No \ at end) (Full directory - E.G. E:\steam_backup, directory must

exist already!)
set dest=
set /P dest=Type input: %=%
if "%dest%"=="" goto input3

echo location of Steam folder: %root%
echo Destination of backup files: %dest%

REM Choose backup or restore
:input4
echo Backup or Restore?
echo b/r - type one!
set type
set /P type=Type input: %=%
if "%type%"=="" goto input3
if "%type%"=="b" goto backup
if "%type%"=="r" goto restore

:restore
echo. 
echo Starting to restore 'steamapps' folder.
"%exe%" x "%root%\steamapps.7z" -o"%dest%\steamapps" > NUL
echo '%dest%\steamapps' has been restored.

echo. 
echo Starting to restore games in 'common' folder.
for /F "tokens=* usebackq" %%G in (`dir "%root%\common" /B`) do (
echo. 
echo Starting to restore '%%G'.
"%exe%" x "%root%\common\%%G" -o"%dest%\steamapps\common" -ax!steamapps.7z > NUL
echo '%%G' has been restored.
)

echo. 
echo Finished restoring steamapps folder.
goto :eof

:backup
echo. 
echo Starting to backup 'steamapps' folder (Excluding common folder).
"%exe%" a -t7z "%dest%\steamapps.7z" "%root%\steamapps\*" -mx9 -xr!common > NUL
if exist "%dest%\steamapps.7z" echo '%dest%\steamapps.7z' has been backed up.

echo. 
echo Starting to backup games in 'common' folder (individually).
for /F "tokens=* usebackq" %%G in (`dir "%root%\steamapps\common" /A:D /B`) do (
echo. 
echo Starting to backup '%%G'.
"%exe%" a -t7z "%dest%\common\%%G.7z" "%root%\steamapps\common\%%G" -mx9 > NUL
if exist "%dest%\%%G.7z" echo '%%G' has been backed up.
)

echo. 
echo Finished backing up steamapps folder.
goto :eof

:eof
endlocal
pause
Joined both backup and restore together
tongue.gif

Edit: Not working fully. 1 Min
 

· Premium Member
Joined
·
2,645 Posts
Fixed:

Code:
Code:
@echo off

setlocal

REM Location of 7z.exe (Must be command line version)
:input1
echo Where is the location of the 7z.exe file? (Command Line version)
set exe=
set /P exe=Type input: %=%
if "%exe%"=="" goto input1

REM Location of Steam folder
:input2
echo Where is the location of the steam install? Leave trailing backslash! (No \\ at end) (Full directory - E.G. C:\\Program Files(x86)\\steam)
set root=
set /P root=Type input: %=%
if "%root%"=="" goto input2

REM Location of destination folder
:input3
echo Where do you want it to be backed up to? Leave trailing backslash! (No \\ at end) (Full directory - E.G. E:\\steam_backup, directory must

exist already!)
set dest=
set /P dest=Type input: %=%
if "%dest%"=="" goto input3

echo location of Steam folder: %root%
echo Destination of backup files: %dest%

REM Choose backup or restore
:input4
echo Backup or Restore?
echo b/r - type one!
set type
set /P type=Type input: %=%
if "%type%"=="" goto input3
if "%type%"=="b" goto backup
if "%type%"=="r" goto restore

:restore
echo. 
echo Starting to restore 'steamapps' folder.
"%exe%" x "%dest%\\steamapps.7z" -o"%root%\\steamapps" > NUL
echo '%dest%\\steamapps' has been restored.

echo. 
echo Starting to restore games in 'common' folder.
for /F "tokens=* usebackq" %%G in (`dir "%root%\\common" /B`) do (
echo. 
echo Starting to restore '%%G'.
"%exe%" x "%dest%\\common\\%%G" -o"%root%\\steamapps\\common" -ax!steamapps.7z > NUL
echo '%%G' has been restored.
)

echo. 
echo Finished restoring steamapps folder.
pause
goto :eof

:backup
echo. 
echo Starting to backup 'steamapps' folder (Excluding common folder).
"%exe%" a -t7z "%dest%\\steamapps.7z" "%root%\\steamapps\\*" -mx9 -xr!common > NUL
if exist "%dest%\\steamapps.7z" echo '%dest%\\steamapps.7z' has been backed up.

echo. 
echo Starting to backup games in 'common' folder (individually).
for /F "tokens=* usebackq" %%G in (`dir "%root%\\steamapps\\common" /A:D /B`) do (
echo. 
echo Starting to backup '%%G'.
"%exe%" a -t7z "%dest%\\common\\%%G.7z" "%root%\\steamapps\\common\\%%G" -mx9 > NUL
if exist "%dest%\\%%G.7z" echo '%%G' has been backed up.
)

echo. 
echo Finished backing up steamapps folder.
pause
goto :eof

:eof
endlocal
pause
Had to flip %dest% and %root%
That worked for me, just need some other to try it. I will work on the GUI tomorrow. .Net 4 and C# sound ok?
G2G now, work on it tomorrow.
 

· Registered
Joined
·
1,033 Posts

· Premium Member
Joined
·
23,733 Posts
you're awesome.

i could have used this yesterday if i'd seen it since i reformatted.

thank you so much
+
 

· Premium Member
Joined
·
2,645 Posts

Got quite a bit of work done today, its multi-threaded
At the moment, it backs up the steamapps folder. Hopefully I can finish it tomorrow.
 

· Premium Member
Joined
·
22,581 Posts
Dude that looks sweet...
 

· Registered
Joined
·
1,443 Posts
Discussion Starter · #20 ·
Holey Moley!

May i ask in what way is it multithreaded? (it backs up two archives at a time?)

Also does anybody know what file does steam uses to store information about whether or not certain game are installed? it would be handy to back that up to, I hate having to double click to 'download' every game.
 
1 - 20 of 258 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top