Earlier, I posted a simple batch file for sysadmins to keep a number of backups. Here’s another one that’s more sophisticated.
It creates a folder with today’s date and time as a name, copies over the tree of the folder you wish to back up. Then it keeps 50 copies, and deletes the oldest.
It assumes a folder on a backup drive named robocopy. It also assumes a folder on C called shared. Easy to change. Enjoy.
d: cd robocopy\ set CUR_YYYY=%date:~10,4% set CUR_MM=%date:~4,2% set CUR_DD=%date:~7,2% set CUR_HH=%time:~0,2% if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%) set CUR_NN=%time:~3,2% set CUR_SS=%time:~6,2% set CUR_MS=%time:~9,2% set SUBFILENAME=%CUR_YYYY%-%CUR_MM%-%CUR_DD%-%CUR_HH%-%CUR_NN%-%CUR_SS% mkdir %SUBFILENAME% robocopy c:\shared d:\robocopy\%SUBFILENAME%\ /s /r:5 /w:5 for /f "skip=50 tokens=*" %%A in ('dir d:\robocopy /ad /b /o-d') do rmdir /s /q "d:\robocopy\%%A" echo "Done"