1.

Solve : Backup Cmd/Bat File Help?

Answer»

Hi,
Ive found that most backup software and the file they create very cumbersome.  Creating my first bat file to backup desired files directly, see attached.

I'm getting Invalid # of parameters error. Seems I need HELP with spaces and quotation marks in my backnow variable. Any help getting to file to run, or with bat file suggestions in general,  would be greatly appreciated.

Note - will be USED as a scheduled task on a Win XP SP3 machine.

-----
Backup User Data XP.bat

echo on
cd c:\

rem set variables
set databkup=d:\backup\"Scheduled Backup Folder"
set backnow=Currrent Backup\%Username%" "%date%" Backup"
set backold="Older Backup"

rem Move last backup to Older Backup folder
rmdir %databkup%\%backold% /s /q
xcopy %databkup%\"Current Backup"\* %databkup%\%backold% /s /h /c

rem Backup current My Documents, Desktop and Favorites
rmdir %databack%\"Current Backup" /s /q
xcopy %USERPROFILE%\"My Documents" %databkup%\"%backnow%" /s /h /c
xcopy %USERPROFILE%\Desktop\ %databkup%\%backnow% /s /h /c
xcopy %USERPROFILE%\Favorites\ %databkup%\%backnow% /s /h /c

echo %backnow% Complete

pause


[recovering disk space - old attachment deleted by admin]try this

Code: [Select]echo off
cd c:\

rem set variables
set databkup=d:\backup\Scheduled Backup Folder
set backnow=Currrent Backup\%Username% %date% Backup
set backold=Older Backup

rem Move last backup to Older Backup folder
rmdir "%databkup%\%backold%" /s /q
xcopy "%databkup%\Current Backup\*" "%databkup%\%backold%" /s /h /c

rem Backup current My Documents, Desktop and Favorites
rmdir "%databack%\Current Backup" /s /q
xcopy "%USERPROFILE%\My Documents" "%databkup%\"%backnow%" /s /h /c
xcopy "%USERPROFILE%\Desktop\" "%databkup%\%backnow%" /s /h /c
xcopy "%USERPROFILE%\Favorites\" "%databkup%\%backnow%" /s /h /c

echo %backnow% Complete

pause
I possibly MISSED some stuff as i did this real quick (I have to go to school)
And i didn't want to TEST myself becouse I didn't want to create the complete filestructure (your folders and files) to test on

edit: I turned echo off, looks prettier this wayThanks,
That helped move it along.  Got up to file below and seems to be working now.  Still tweaking and trying to get the spaces back in the folder names.

Note - had to change date variable for dos folder name.
=====
Backup User Data XP

echo on
cd c:\

rem Get date variables
for /f "tokens=2,3,4 delims=/ " %%a in ('DATE /T') do set date=%%a%%B%%c

rem set variables
set databkup=d:\backup\ScheduledBackupFolder
set backnow=CurrentBackup\%Username%%date%Backup
set backold=OlderBackup

rem Move last backup to Older Backup folder
rmdir "%databkup%\%backold%\" /s /q
xcopy "%databkup%\CurrentBackup\*.*" "%databkup%\%backold%\*.*" /s /h /c /y

rem Backup current My Documents, Desktop and Favorites
rmdir "%databkup%\CurrentBackup\" /s /q
xcopy "%USERPROFILE%\My Documents\*.*" "%databkup%\%backnow%\My Documents\*.*" /s /h /c /y
xcopy "%USERPROFILE%\Desktop\*.*" "%databkup%\%backnow%\Desktop\*.*" /s /h /c /y
xcopy "%USERPROFILE%\Favorites\*.*" "%databkup%\%backnow%\Favorites\*.*" /s /h /c /y

echo %backnow% Complete

pauseI think I got it!! 

Fully customizable bat file to backup/copy just the files and folders I want, and is able to be set as a scheduled task.

=====
Backup User Data XP.bat

echo off
cd c:\

rem Get date variables
for /f "tokens=2,3,4 delims=/ " %%a in ('DATE /T') do set date=%%a-%%b-%%c

rem Set backup folder variables
set databkup=d:\backup\Scheduled Backup Folder
set backnow=Current Backup\%Username% %date%Backup
set backold=Older Backup

rem Set locations to backup
set backloc1=My Documents
set backloc2=Desktop
set backloc3=Favorites

echo.
echo Move last backup to Older Backup folder
rmdir "%databkup%\%backold%\" /s /q
xcopy "%databkup%\Current Backup\*.*" "%databkup%\%backold%\*.*" /s /h /c /q

echo.
echo Backup current %backloc1%, %backloc2%, %backloc3%
rmdir "%databkup%\Current Backup\" /s /q
xcopy "%USERPROFILE%\%backloc1%\*.*" "%databkup%\%backnow%\%backloc1%\*.*" /s /h /c /q
xcopy "%USERPROFILE%\%backloc2%\*.*" "%databkup%\%backnow%\%backloc2%\*.*" /s /h /c /q
xcopy "%USERPROFILE%\%backloc3%\*.*" "%databkup%\%backnow%\%backloc3%\*.*" /s /h /c /q

echo.
echo %backnow% Complete

echo.
pause



Discussion

No Comment Found