Robocopy, or "Robust File Copy", is a command-line directory and/or file replication command.
Robocopy functionally replaces Xcopy, with more options. It has been available as part
of the Windows Resource Kit starting with Windows NT 4.0, and was first introduced as
a standard feature in Windows Vista and Windows Server 2008. The command is robocopy.
Features Robocopy is noted for capabilities above and
beyond the built-in Windows copy and xcopy commands, including the following:
Ability to tolerate network interruptions and resume copying.
Ability to skip NTFS junction points which can cause copying failures because of infinite
loops Ability to copy file data and attributes correctly,
and to preserve original timestamps, as well as NTFS ACLs, owner information, and audit
information using command line switches. Copying folder timestamps is also possible in later
versions. Ability to assert the Windows NT "backup right"
so an administrator may copy an entire directory, including files denied readability to the
administrator. Persistence by default, with a programmable
number of automatic retries if a file cannot be opened.
A "mirror" mode, which keeps trees in sync by optionally deleting files out of the destination
that are no longer present in the source. Ability to skip files that already appear
in the destination folder with identical size and timestamp.
A continuously updated command-line progress indicator.
Ability to copy file and folder names exceeding 254 characters — up to a theoretical limit
of 32,000 characters — without errors. Multithreaded copying.
Return code on program termination for batch file usage.
Limitations No open files
Robocopy will not copy open files. Any process may open files for exclusive read access by
withholding the FILE_SHARE_READ flag during opening. Even robocopy's Backup mode will
not touch those files.. ) The Windows Volume Shadow Copy service is
used for such situations, but Robocopy does not use it. Therefore Robocopy is not useful
for backing up live operating system volumes. However, one can use a separate utility, such
as GSCopyPro or DiskShadow.exe, to create a shadow copy of a given volume, which Robocopy
can then be directed to back up. XP mirroring bug
Robocopy versions on systems older than Windows Vista do not mirror properly. They ignore
changed security attributes of previously mirrored files.
Multithread Copy/No Progress Bug When specifying the /MT[:n] option to enable
multithreaded copying, the /NP option to disable reporting of the progress percentage for files
is ignored. Wildcarding treatment
The /XF switch does not work if given both a directory and a wildcard. For example /XF
pictures\*.jpg generates an error. Common usage scenarios
Here are some examples of usage. If more than one option is specified they must be separated
by spaces. Copy directory contents of A to B, recursively
with empty directories: Robocopy C:\A C:\B /E
Copy directory recursively, copy all file information, do not retry locked files(the
number of retries on failed copies default value is 1 million), preserve original directories'
Timestamps: Robocopy C:\A C:\B /COPYALL /E /R:0 /DCOPY:T
Mirror A to B, destroying any files in B that are not present in A, copy files in resume
mode in case network connection is lost: Robocopy C:\A \\backupserver\B /MIR /Z
For the full reference, see the Microsoft TechNet Robocopy page.
Folder copier, not file copier Robocopy syntax is markedly different from
standard copy commands, as it accepts only folder names as its source and destination
arguments. File names and wild-card characters are not valid source or destination arguments.
Files may be selected or excluded using the optional filespec filtering argument. Filespecs
can only refer to the filenames relative to the folders already selected for copying.
Fully qualified path names are not supported. For example, in order to copy the file foo.txt
from directory c:\bar to c:\baz, one could use the following syntax:
Robocopy c:\bar c:\baz foo.txt
Bandwidth throttling Robocopy's "inter-packet gap" option allows
some control over the network bandwidth used in a session. In theory, the following formula
expresses the delay required to simulate a desired bandwidth, over a network link with
an available bandwidth of BA kbps:
In practice however, some experimentation is usually required to find a suitable delay,
due to factors such as the nature and volume of other traffic on the network. The methodology
employed by the IPG option may not offer the same level of control provided by some other
bandwidth throttling technologies, such as BITS.
GUI Although Robocopy itself is a command-line
tool, Microsoft TechNet provides a GUI front-end call Robocopy GUI. It was developed by Derk
Benisch, a systems engineer with the MSN Search group at Microsoft, and required .NET Framework
2.0. It includes a copy of Robocopy version XP026.
There are other non-Microsoft GUIs for Robocopy: "WinRoboCopy" revision 1.2.5148.1756 released
on Febuary 2, 2014. "Easy RoboCopy" latest version 1.0.13 released
in January 11, 2012. A program by SH-Soft, also called "Robocopy
GUI" v1.0.0.24. Ken Tamaru of Microsoft has also developed
a copying program similar to Robocopy, called RichCopy, which is available on Microsoft
TechNet. While it is not based on Robocopy, it offers similar features, and it does not
require .NET Framework. Versions
Note: Several versions of Robocopy do not show the version number when executing Robocopy
/? on the command line. See also
List of file copying software Command line
List of DOS commands copy
XCOPY rsync
GUI SyncToy
RichCopy Ultracopier
References
External links Official sources
Robocopy download as part of Windows Server 2003 Resource Kit Tools. Includes 35-page
documentation "robocopy.doc". Robocopy short documentation on Microsoft
TechNet Library Robocopy GUI download on Microsoft TechNet
Magazine
Other ROBOCOPY.exe
Robocopy.exe Robust File Copy Utility Version XP010