Dragging files between
folders with Windows Explorer is fine for some tasks, but when it comes
to heavy-duty file management you need a better tool. If you're willing
to do a little typing in exchange for power and flexibility you can't
get with Windows Explorer, get to know Robocopy.
Robocopy (the name is
short for Robust File Copy) was introduced with the Windows Server 2003
Resource Kit and is included in all editions of Windows 7. Its many
strengths include the ability to copy all NTFS file attributes and to
mirror the contents of an entire folder hierarchy across local volumes
or over a network. If you use the right combination of options, you can
recover from interruptions such as network outages by resuming a copy
operation from the point of failure after the connection is restored.
The Robocopy syntax
takes some getting used to. If you're familiar with the standard Copy
and Xcopy commands, you'll have to unlearn their syntax and get used to
Robocopy's unconventional ways. The key difference is that Robocopy is
designed to work with two directories (folders) at a time, and the file
specification is a secondary parameter. In addition, there are dozens of
options that can be specified as command-line switches. The basic
syntax is as follows:
robocopy source destination [file [file]...] [options]
The source and destination parameters are specified as drive:\path or \\server\share\path.
The file
parameter can contain one or more literal file names, or it can use the
familiar ? and * wildcards. Available options include dozens of switches
that control copying,
file selection, retry options, and the ability to create log files. For
instance, this command copies the contents of one folder and all its
subfolders from a local drive E to a shared folder on a Windows Home
Server:
robocopy "E:\test" \\server\public\test\ /MIR /W:20 /R:15 /LOG: \\server\public\logs
The /MIR switch tells
Robocopy you want to mirror the two folders, copying all folders (even
empty ones) from the source directory and purging folders from the
destination if they no longer exist on the source. The /W and /R
switches set the wait and retry options; in this case, Robocopy will
retry each copy up to 15 times, waiting 20 seconds between attempts.
(The defaults allow 1 million retries, at 30-second intervals, allowing
copy operations to complete when an open file is closed, even if hours
or days have passed since the command was first launched.)
To see the full syntax,
type robocopy /? at a command
prompt.
Robocopy is a powerful
tool, capable of moving, copying, and deleting files and folders faster
than you can say "Whoops." We recommend experimenting with commands
using nonessential files and folders first; when you're comfortable that
you understand the effects of the syntax you're using, you can run the
command against real data files.
And if you aren't keen on
the idea of using a command-line tool, take heart. Microsoft engineer
Derk Benisch has written a graphical front end, shown in Figure
1, that allows you to build a command
by selecting check boxes instead of entering switches.
Robocopy GUI adds more
than usability to Robocopy; it also lets you create a library of
commonly used copy scripts.