A very simple script for automate user profile backup and restore. Easy to use, and highly customizable, so you can modify it as per your needs.

Code:
@echo off
color 0c
REM PBR_AUTO.BAT
REM Created by Saugata Datta
REM Version 0.01
REM Auto Profile Backup and Restore
MODE CON: COLS=50 LINES=20
setlocal
%~d0
cd "%~dp0"
:_tsk
title Auto Profile Backup and Restore...
set _task=
cls
echo _____/TechnoChat.IN_______________________________
echo Auto Profile Backup and Restore
echo By : Saugata Datta
echo _______________________________________/2009______
echo [A] - Backup Domain Profile
echo [B] - Restore Domain Profile
echo [Q] - QUIT
echo.
set /p _task=Your Choice [in small]:
echo.
if "%_task%" == "a" goto _bkp
if "%_task%" == "b" goto _res
if "%_task%" == "q" goto _quit
if not "%_task%" == "a or b or q" goto _tsk
:_bkp
cd
set /p _uname=Type user account Name:
%SystemDrive%
cd "Documents and Settings"
if not exist %_uname% (echo Wrong user name..
goto _bkp)
:_drv
set /p _drive=Type Drive letter[like D]:
if not exist %_drive%:RECYCLER (echo Wrong drive...
goto _drv)
if exist "%_drive%:%_uname%_apbr" ( echo Deleting old Backup
rmdir /s /q "%_drive%:%_uname%_apbr")
mkdir "%_drive%:%_uname%_apbr"
mkdir "%_drive%:%_uname%_apbrFavorites"
mkdir "%_drive%:%_uname%_apbrDesktop"
mkdir "%_drive%:%_uname%_apbrMy Documents"
mkdir "%_drive%:%_uname%_apbrRecent"
mkdir "%_drive%:%_uname%_apbrApplication Data"
mkdir "%_drive%:%_uname%_apbrApplication DataMicrosoft"
mkdir "%_drive%:%_uname%_apbrApplication DataMicrosoftOffice"
mkdir "%_drive%:%_uname%_apbrApplication DataMicrosoftOutlook"
mkdir "%_drive%:%_uname%_apbrLocal SettingsHistory"
echo %cd%
xcopy /e /h /r /y "%_uname%Favorites" "%_drive%:%_uname%_apbrFavorites"
xcopy /e /h /r /y "%_uname%Desktop" "%_drive%:%_uname%_apbrDesktop"
xcopy /e /h /r /y "%_uname%My Documents" "%_drive%:%_uname%_apbrMy Documents"
xcopy /e /h /r /y "%_uname%Application DataMicrosoftOffice" "%_drive%:%_uname%_apbrApplication DataMicrosoftOffice"
xcopy /e /h /r /y "%_uname%Application DataMicrosoftOutlook" "%_drive%:%_uname%_apbrApplication DataMicrosoftOutlook"
xcopy /e /h /r /y "%_uname%Local SettingsHistory" "%_drive%:%_uname%_apbrLocal SettingsHistory"
goto _bsucc
:_res
cd
set /p _uname=Type user account Name:
%SystemDrive%
cd "Documents and Settings"
if not exist %_uname% (echo Wrong user name..
goto _res)
:_drv2
set /p _rdes=Type backup drive:
if not exist %_rdes%:RECYCLER (echo Wrong drive...
goto _drv2)
if not exist %_rdes%:%_uname%_apbr (echo Old backup not available...
cd
goto _res)
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrFavorites" "%_uname%Favorites"
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrDesktop" "%_uname%Desktop"
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrMy Documents" "%_uname%My Documents"
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrApplication DataMicrosoftOffice" "%_uname%Application DataMicrosoftOffice"
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrApplication DataMicrosoftOutlook" "%_uname%Application DataMicrosoftOutlook"
xcopy /e /h /r /y "%_rdes%:%_uname%_apbrLocal SettingsHistory" "%_uname%Local SettingsHistory"
goto _rsucc
:_rsucc
@echo off
MODE CON: COLS=34 LINES=4
echo.
echo *** Restore Successful ***
echo.
pause >nul
goto _quit
:_bsucc
@echo off
MODE CON: COLS=34 LINES=10
echo.
echo.
echo *** Backup Successful ***
echo.
echo Backup taken to following folder
echo.
echo %_drive%:%_uname%_apbr
pause >nul
goto _quit
:_quit
endlocal
exit
You Might Also Like
Setup your own Monitoring – Disk Space Utilization Monitoring tool for free
It is always recommended to keep tracking of the disk space utilization…
Port Scanner using PowerShell with Email Notification
Few days back I was asked to create a script, which will…
Set File System Auditing via PowerShell
For last few days, I was trying to figure out how to…
AWS EBS Snapshots Automation (Disaster Recovery) from Windows PowerShell
It is always a good idea to reduce hardware dependencies by moving…
Nice script. Thank you.
Where do I put the script in order to be executed automatically before a user get logged in?
This script not for logon purpose, this is build for taking windows profile backup before renaming/deleting the user profile.
That’s the thing i am looking for. If i want to copy the data to network share, what changes I have to made. Pleas…………….e advise
you can use UNC path for that or, you can map network path before using it over network share.
I am getting a error saying wrong drive letter even though I am entering the correct drive letter.