Skip to main content
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
robocopy
- Article
- 10/04/2022
- 9 minutes to read
In this article
Copies file data from one location to another.
Syntax
robocopy [[ ...]] []
For example, to copy a file named yearly-report.mov from c:\reports to a file share \\marketing\videos while enabling multi-threading for higher performance [with the /mt parameter] and the ability to restart the transfer in case it's interrupted [with the /z parameter], type:
robocopy c:\reports '\\marketing\videos' yearly-report.mov /mt /z
Parameters
| Specifies the path to the source directory. |
| Specifies the path to the destination directory. |
| Specifies the file or files to be copied. Wildcard characters [* or ?] are supported. If you don't specify this parameter, *.* is used as the default value.
|
| Specifies the options to use with the robocopy command, including copy, file, retry, logging, and job options. |
Copy options
/s | Copies subdirectories. This option automatically excludes empty directories. |
/e | Copies subdirectories. This option automatically includes empty directories. |
/lev:
| Copies only the top n levels of the source directory tree. |
/z | Copies files in restartable mode. In restartable mode, should a file copy be interrupted, Robocopy can pick up where it left off rather than recopying the entire file. |
/b | Copies files in backup mode. Backup mode allows Robocopy to override file and folder permission settings [ACLs]. This allows you to copy files you might otherwise not have access to, assuming it's being run under an account with sufficient privileges. |
/zb | Copies files in restartable mode. If file access is denied, switches to backup mode. |
/j | Copies using unbuffered I/O [recommended for large files]. |
/efsraw | Copies all encrypted files in EFS RAW mode. |
/copy:
| Specifies which file properties to copy. The valid values for this option are:
|
/dcopy:
| Specifies what to copy in directories. The valid values for this option are:
|
/sec | Copies files with security [equivalent to /copy:DATS]. |
/copyall | Copies all file information [equivalent to /copy:DATSOU]. |
/nocopy | Copies no file information [useful with /purge]. |
/secfix | Fixes file security on all files, even skipped ones. |
/timfix | Fixes file times on all files, even skipped ones. |
/purge | Deletes destination files and directories that no longer exist in the source. Using this option with the /e option and a destination directory, allows the destination directory security settings to not be overwritten. |
/mir | Mirrors a directory tree [equivalent to /e plus /purge]. Using this option with the /e option and a destination directory, overwrites the destination directory security settings. |
/mov | Moves files, and deletes them from the source after they are copied. |
/move | Moves files and directories, and deletes them from the source after they are copied. |
/a+:[RASHCNET] | Adds the specified attributes to copied files. The valid values for this option are:
|
/a-:[RASHCNET] | Removes the specified attributes from copied files. The valid values for this option are:
|
/create | Creates a directory tree and zero-length files only. |
/fat | Creates destination files by using 8.3 character-length FAT file names only. |
/256 | Turns off support for paths longer than 256 characters. |
/mon:
| Monitors the source, and runs again when more than n changes are detected. |
/mot:
| Monitors the source, and runs again in m minutes, if changes are detected. |
/mt[:n]
| Creates multi-threaded copies with n threads. n must be an integer between 1 and 128. The default value for n is 8. For better performance, redirect your output using /log option. The /mt parameter can't be used with the /ipg and /efsraw parameters. |
/rh:hhmm-hhmm | Specifies run times when new copies may be started. |
/pf | Checks run times on a per-file [not per-pass] basis. |
/ipg:n | Specifies the inter-packet gap to free bandwidth on slow lines. |
/sj | Copies junctions [soft-links] to the destination path instead of link targets. |
/sl | Don't follow symbolic links and instead create a copy of the link. |
/nodcopy | Copies no directory info [the default /dcopy:DA is done]. |
/nooffload | Copies files without using the Windows Copy Offload mechanism. |
/compress | Requests network compression during file transfer, if applicable. |
Note
The /mt parameter was introduced in Windows Server 2008 R2 and its functionality applies to current versions of Windows Server.
Important
When using the /secfix copy option, specify the type of security information you want to copy, using one of these additional copy options:
- /copyall
- /copy:o
- /copy:s
- /copy:u
- /sec
File selection options
/a | Copies only files for which the Archive attribute is set. |
/m | Copies only files for which the Archive attribute is set, and resets the Archive attribute. |
/ia:[RASHCNETO]
| Includes only files for which any of the specified attributes are set. The valid values for this option are:
|
/xa:[RASHCNETO]
| Excludes files for which any of the specified attributes are set. The valid values for this option are:
|
/xf [ ...]
| Excludes files that match the specified names or paths. Wildcard characters [* and ?] are supported. |
/xd [ ...]
| Excludes directories that match the specified names and paths. |
/xc | Excludes existing files with the same timestamp, but different file sizes. |
/xn | Source directory files newer than the destination are excluded from the copy. |
/xo | Source directory files older than the destination are excluded from the copy. |
/xx | Excludes extra files and directories present in the destination but not the source. Excluding extra files will not delete files from the destination. |
/xl | Excludes "lonely" files and directories present in the source but not the destination. Excluding lonely files prevents any new files from being added to the destination. |
/im | Include modified files [differing change times]. |
/is | Includes the same files. Same files are identical in name, size, times, and all attributes. |
/it | Includes "tweaked" files. Tweaked files have the same name, size, and times, but different attributes. |
/max:
| Specifies the maximum file size [to exclude files bigger than n bytes]. |
/min:
| Specifies the minimum file size [to exclude files smaller than n bytes]. |
/maxage:
| Specifies the maximum file age [to exclude files older than n days or date]. |
/minage:
| Specifies the minimum file age [exclude files newer than n days or date]. |
/maxlad:
| Specifies the maximum last access date [excludes files unused since n]. |
/minlad:
| Specifies the minimum last access date [excludes files used since n] If n is less than 1900, n specifies the number of days. Otherwise, n specifies a date in the format YYYYMMDD. |
/xj | Excludes junction points, which are normally included by default. |
/fft | Assumes FAT file times [two-second precision]. |
/dst | Compensates for one-hour DST time differences. |
/xjd | Excludes junction points for directories. |
/xjf | Excludes junction points for files. |
Retry options
/r:
| Specifies the number of retries on failed copies. The default value of n is 1,000,000 [one million retries]. |
/w:
| Specifies the wait time between retries, in seconds. The default value of n is 30 [wait time 30 seconds]. |
/reg | Saves the values specified in the /r and /w options as default settings in the registry. |
/tbd | Specifies that the system will wait for share names to be defined [retry error 67]. |
Logging options
/l | Specifies that files are to be listed only [and not copied, deleted, or time stamped]. |
/x | Reports all extra files, not just those that are selected. |
/v | Produces verbose output, and shows all skipped files. |
/ts | Includes source file time stamps in the output. |
/fp | Includes the full path names of the files in the output. |
/bytes | Prints sizes, as bytes. |
/ns | Specifies that file sizes are not to be logged. |
/nc | Specifies that file classes are not to be logged. |
/nfl | Specifies that file names are not to be logged. |
/ndl | Specifies that directory names are not to be logged. |
/np | Specifies that the progress of the copying operation [the number of files or directories copied so far] will not be displayed. |
/eta | Shows the estimated time of arrival [ETA] of the copied files. |
/log:
| Writes the status output to the log file [overwrites the existing log file]. |
/log+:
| Writes the status output to the log file [appends the output to the existing log file]. |
/unicode | Displays the status output as Unicode text. |
/unilog:
| Writes the status output to the log file as Unicode text [overwrites the existing log file]. |
/unilog+:
| Writes the status output to the log file as Unicode text [appends the output to the existing log file]. |
/tee | Writes the status output to the console window, and to the log file. |
/njh | Specifies that there is no job header. |
/njs | Specifies that there is no job summary. |
Job options
/job:
| Specifies that parameters are to be derived from the named job file. To run /job:jobname , you must first run the /save:jobname parameter to create the job file.
|
/save:
| Specifies that parameters are to be saved to the named job file. This must be ran before running /job:jobname . All copy, retry, and logging options must be specified before this parameter.
|
/quit | Quits after processing command line [to view parameters]. |
/nosd | Indicates that no source directory is specified. |
/nodd | Indicates that no destination directory is specified. |
/if | Includes the specified files. |
Exit [return] codes
0 | No files were copied. No failure was encountered. No files were mismatched. The files already exist in the destination directory; therefore, the copy operation was skipped. |
1 | All files were copied successfully. |
2 | There are some additional files in the destination directory that are not present in the source directory. No files were copied. |
3 | Some files were copied. Additional files were present. No failure was encountered. |
5 | Some files were copied. Some files were mismatched. No failure was encountered. |
6 | Additional files and mismatched files exist. No files were copied and no failures were encountered. This means that the files already exist in the destination directory. |
7 | Files were copied, a file mismatch was present, and additional files were present. |
8 | Several files did not copy. |
Note
Any value equal to or greater than 8 indicates that there was at least one failure during the copy operation.
Additional References
- Command-Line Syntax Key
Feedback
Submit and view feedback for