Using Robocopy

gerlis
gerlis used Ask the Experts™
on
I want to use Robocopy (or another free tool if necessary) to create a daily exact copy of a folder and the command “Robocopy /MIR sourceFolder  destinationFolder” does this.  

However, I want to create a new destination folder each time, possibly with the date in its name, something like 20150606destinationfolder. So that I can keep previous versions for as long as necessary. How can I modify the command to do this?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Emmanuel AdebayoGlobal Windows Infrastructure Engineer - Consultant
Top Expert 2013
Commented:
Hi,

Robocopy in itself does not have this functionality but you can write a script to create the folder and immedately run the robocopy. see the below

Open notepad and enter

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a
mkdir c:\%date:/=%mydestinationfolder

Robocopy <source> c:\%date:/=%mydestinationfolder /MIR /E /Z /LOG:C:\Robocopylog.txt /TEE /R:2 /W:0

Save this as <yourchoosen_name>.bat

All you just need to be doing is to run the <yourchoosen_name>.bat

I hope this help.

Author

Commented:
Thanks. will it out over the weekend.
NVITEnd-user support

Commented:
Note: No points necessary. Just helping...

For a date matching your original question...
for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (
  set YYYYMMDD=%%d%%b%%c
)
Robocopy c:\sourcedir c:\%YYYYMMDD%destinationfolder /MIR /E /Z /LOG:C:\Robocopylog.txt /TEE /R:2 /W:0

Open in new window

Learn Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

Qlemo"Batchelor", Developer and EE Topic Advisor
Top Expert 2015

Commented:
The /MIR option does not make sense if you copy into a new folder each time. It does no harm, but shows a misconception if applying it here, as it also has to check for files which are only in the target (and remove them). You can just leave that option out.

Author

Commented:
Thanks for your helpful comments.  In the end I simplified the command line as follows (it was mainly the date in the file name that I couldn't work
out):

md C:\ folderpath\%date:/=%foldername
Robocopy "Source folder" "Destination folder\%date:/=%filename"  /E

This provides me with a uniquely named folder for each backup.

However, I am having difficulty getting this to run automatically with Task Manager (Windows 8.1).  It just doesn't run.  I am logged into this PC as a local administrator (it's not on a network) and am able to run the batch file manually.  

Thanks
Qlemo"Batchelor", Developer and EE Topic Advisor
Top Expert 2015

Commented:
Please review the code you posted - it is wrong in a way I guess you replaced real-life data with fakes, and made the result unusuable ...
Commented:
Yes, I did anonymise the code as the folder names that I have to use may identify the organisation.  Sorry if I got it wrong but the code I am now using does indeed work.  I have done it again in the hope that it now makes sense:

md C:\Backup\%date:/=% Backup
Robocopy "C:\Users\user\Dropbox\B Backup" "C:\Backup\%date:/=% Backup"  /E

However, as it works when the batch file is run manually, the code is now not the problem as the answers given so far have helped me to get that right.  The issue now is to get Windows Task Scheduler (not manager as I mistakenly said in my last post) to run as I need the batch file to run regularly and automatically.

Many thanks.

Author

Commented:
This has now really beromc a different question, so I would like to delete this one.

Author

Commented:
I've requested that this question be deleted for the following reason:

No longer relevant to my situation
NVITEnd-user support

Commented:
> ...the code is now not the problem as the answers given so far have helped me to get that right

If the code never was the problem, then ok.

If there was an issue in the code, you should close with points.
Qlemo"Batchelor", Developer and EE Topic Advisor
Top Expert 2015

Commented:
As the first comment showed you how to solve the date issue, and you used that code part literally, you should accept that comment.
I've objected to the deletion.

Author

Commented:
OK, no probs

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial