Mirror Files on Windows using Robocopy
Posted: 2013-08-28. Updated: 2013-08-28.
Robocopy is a command line robust copy utility that comes pre-installed with various Windows versions. It is well suited to mirror a large set of files between two external hard disks for example.
This is just a short cheat sheet to help remember its configuration options.
$ robocopy $source $target /MIR /MT /R:3 /W:5 /DCOPY:T /LOG+:$log_file /TEE
Attention: $source
and $target
must be capital
drive letters!
We set the number of retries (/R
) and the time to wait between
them (/W
) to some sensible numbers to speed up the copying process
of unimportant and inaccessible files (the trash bin for example).
We also request multi-threaded operation by setting /MT
.
Target Directory Empty Problem
It sometimes happens that if you copy a whole file system down from its root
into another directory, that the $target
directory looks empty
when viewed in Windows explorer, even though robocopy states that all was
copied correctly. I do not know if this is a bug, or feature, but robocopy sets
the system and hidden bit on it. And normally systems files are not displayed
in the explorer.
The solution is to simply remove the system (S) and hidden (H) flags from the
$target
directory.
You can list all files with:
$ dir /A
Or list only the files that have the system bit set:
$ dir /A:S
And finally remove both bits from the $target
directory:
$ attrib -S -H $target
Back to writings.