Using ROBOCOPY to Transfer Large Amounts of Data

Using ROBOCOPY to Transfer Large Amounts of Data

May 14, 2022·Tyler Rasmussen
Tyler Rasmussen

I wanted to throw out the ROBOCOPY command I’ve used a number of times to transfer large amounts of data between Windows-based servers. You’ll find all sorts of various answers if you search the internet, so I figured I’d add my into the mix.

ROBOCOPY “source” “destination” /E /XJ /MT:32 /R:2 /W:5 /COPY:DAT /LOG:”<log location>”

Here’s a break-down of each flag and its intended purpose.

Attribute Meaning
source The folder you wish to copy.
destination The folder you wish to copy your data too.
/E Copy subdirectories (including empty directories)
/XJ Exclude junction points. Equivalent to soft links in linux.
/MT:32 Increases multi-threading from the default of 8 to 32. Useful for small files at the cost of IO and CPU
/NP Specifies that the progress of the copying operation (the number of files or directories copied so far) will not be displayed.
/R:2 The number of reties when a file fails to successfully copy.
/W:5 How long to wait in between retries for copies.
/COPY:DAT Copy the following attributes of the files/folders: Data, Attributes and Timestamp
/LOG:"" Log all command output for later inspection.

If used unmodified, it will copy all files including the files/folders permissions, timestamps and attributes.