Ok. While the one above works fine, this one is a little better.
It preserves all Time-Stamps and everything gets logged. Also includes required special handling of the "Documents" folder (if you want to back that up also).
Using folder structure above, all you should need to change is the Windows Login UserName in one place. My (Admin-class) Local-Account is name Pinball.
An easy way search the Log for summaries, is to search by the day of the week.
VP-BAK-FILES.bat
@echo off
echo Backup this computer's most important VPX and Front-End software folders
echo including tables, roms, media assets, and config files v1.3
echo.
REM system language independent use of date/time
for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x
REM Format that leading "0" will be added, if necessary
if "%Month:~1,1%"=="" set Month=0%Month%
if "%Day:~1,1%"=="" set Day=0%Day%
if "%Hour:~1,1%"=="" set Hour=0%Hour%
if "%Minute:~1,1%"=="" set Minute=0%Minute%
if "%Second:~1,1%"=="" set Second=0%Second%
REM build date and time-string: YYYY-MM-DD_HH-MM-SS
set MYDATE=%Year%.%Month%.%Day%
set MYTIME=%Hour%-%Minute%-%Second%
set DateTime=%MYDATE%_%MYTIME%
REM set Source and Destination (use no DEST for current folder)
SET SOURCE=C:
SET DEST=D:
echo Ready to backup a lot of folders and files from %SOURCE%
echo.
echo Press CTRL-C to cancel, or
pause
REM every time a new directory is created for the copied files and folders
REM create it and non-Root Alternates
mkdir %DateTime%
mkdir %DateTime%\z-AppData-VPX-INI
mkdir %DateTime%\z-Users-Docs
timeout /t 3 /nobreak
REM save VPinballX.ini
copy %APPDATA%\VPinballX\VPinballX.ini %DateTime%\z-AppData-VPX-INI\VPinballX.ini
REM RobustCopy whole folders from root of SOURCE-Drive (preserve TimeStamps and Log-it)
robocopy "%SOURCE%\B2S-Server" "%DateTime%\B2S-Server" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\DirectOutput" "%DateTime%\DirectOutput" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\EqualizerAPO" "%DateTime%\EqualizerAPO" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\PinballY" "%DateTime%\PinballY" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\Pinscape-Tool" "%DateTime%\Pinscape-Tool" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\PinVol" "%DateTime%\PinVol" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\Visual Pinball" "%DateTime%\Visual Pinball" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\VPX80" "%DateTime%\VPX80" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt"
robocopy "%SOURCE%\Users\Pinball\Documents" "%DateTime%\z-Users-Docs" /E /V /TEE /MT:8 /COPY:DAT /DCOPY:DAT /XJD /XJF /LOG+:"%DateTime%\LogFile.txt" /XD "My Games" "WindowsPowerShell" /XF "desktop.ini"
echo ALL DONE !
pause
Edited by Tesla, 12 July 2026 - 09:18 PM.