robocopy

Package: WA2L/WinTools 1.2.08
Section: General Commands (3)
Updated: 10 April 2017
Index Return to Main Contents

 

NAME

robocopy - Robust File and Folder Copy

 

SYNOPSIS

robocopy Source_folder Destination_folder [ files_to_copy ][ options ]

 

AVAILABILITY

WA2L/WinTools

 

DESCRIPTION

Robust File and Folder Copy.

By default robocopy will only copy a file if the source and destination have different time stamps or different file sizes.

By copying only the files that have changed, robocopy can be used to backup very large volumes.

If either the source or desination are a "quoted long foldername" do not include a trailing backslash as this will be treated as an escape character, i.e. "C:\some path\ will fail but "C:\some path\\" or "C:\some path\." or "C:\some path" will work.

If creating a progress logfile with /LOG, specify a destination directory that already exists, robocopy will create the file but will not create a log directory automatically.

robocopy will accept UNC pathnames including UNC pathnames over 256 characters long.

/REG Writes to the registry at HKCU\Software\Microsoft\ResKit\Robocopy

/XX (exclude extra) If used in conjunction with /Purge or /Mir , this switch will take precedence and prevent any files being deleted from the destination.

To limit the network bandwidth used by robocopy, specify the Inter-Packet Gap parameter /IPG:n This will send packets of 64 KB each followed by a delay of n Milliseconds.

robocopy will fail to copy files that are locked by other users or applications, so limiting the number of retries with /R:0 will speed up copying by skipping any in-use files. The Windows Volume Shadow Copy service is the only Windows subsystem that can copy open files. robocopy does not use the Volume Shadow Copy service, but it can backup a volume shadow that has already been created with VSHADOW or DISKSHADOW.

All versions of robocopy will copy security information (ACLs) for directories, version XP010 will not copy file security changes unless the file itself has also changed, this greatly improves performance.

/B (backup mode) will allow robocopy to override file and folder permission settings (ACLs).

ERROR 5 (0x00000005) Changing File Attributes ... Access is denied This error usually means that File/Folder permissions or Share permissions on either the source or the destination are preventing the copy, either change the permissions or run the command in backup mode with /B.

To run robocopy under a non-administrator account will require backup files privilege, to copy security information auditing privilege is also required, plus of course you need at least read access to the files and folders.

 

OPTIONS

file(s)_to_copy
A list of files or a wildcard (defaults to copying *.*).

 

Source options

/S
Copy Subfolders.

/E
Copy Subfolders, including Empty Subfolders.

/COPY:copyflag(s)
What to COPY (default is /COPY:DAT ) (copyflags: D=Data, A=Attributes, T=Timestamps, S=Security=NTFS-ACLs, O=Owner-info, U=aUditing-info).

/SEC
Copy files with SECurity (equivalent to /COPY:DATS ).

/DCOPY:T
Copy Directory Timestamps.

/COPYALL
Copy ALL file info (equivalent to /COPY:DATSOU ).

/NOCOPY
Copy NO file info (useful with /PURGE).

/A
Copy only files with the Archive attribute set.

/M
like /A, but remove Archive attribute from source files.

/LEV:n
Only copy the top n LEVels of the source tree.

/MAXAGE:n
MAXimum file AGE - exclude files older than n days/date.

/MINAGE:n
MINimum file AGE - exclude files newer than n days/date. (If n < 1900 then n = number of days, else n = YYYYMMDD date).

/FFT
Assume FAT File Times (2-second date/time granularity).

/256
Turn off very long path (> 256 characters) support.

 

Copy options

/L
List only - don't copy, timestamp or delete any files.

/MOV
MOVe files (delete from source after copying).

/MOVE
Move files and dirs (delete from source after copying).

/sl
Copy symbolic links instead of the target.

/Z
Copy files in restartable mode (survive network glitch).

/B
Copy files in Backup mode.

/J
Copy using unbuffered I/O (recommended for large files). ##

/NOOFFLOAD
Copy files without using the Windows Copy Offload mechanism. ##

/ZB
Use restartable mode; if access denied use Backup mode.

/IPG:n
Inter-Packet Gap (ms), to free bandwidth on slow lines.

/R:n
Number of Retries on failed copies - default is 1 million.

/W:n
Wait time between retries - default is 30 seconds.

/REG
Save /R:n and /W:n in the Registry as default settings.

/TBD
Wait for sharenames To Be Defined (retry error 67).

 

Destination options

/A+:[RASHCNET]
Set file Attribute(s) on destination files + add.

/A-:[RASHCNET]
UnSet file Attribute(s) on destination files - remove.

/FAT
Create destination files using 8.3 FAT file names only.

/CREATE
CREATE directory tree structure + zero-length files only.

/DST
Compensate for one-hour DST time differences.

/PURGE
Delete dest files/folders that no longer exist in source.

/MIR
MIRror a directory tree - equivalent to /PURGE plus all subfolders (/E)

 

Logging options

/L
List only - don't copy, timestamp or delete any files.

/NP
No Progress - don't display % copied.

/unicode
Display the status output as Unicode text. #

/LOG:file
Output status to LOG file (overwrite existing log).

/UNILOG:file
Output status to Unicode Log file (overwrite)

/LOG+:file
Output status to LOG file (append to existing log).

/UNILOG+:file
Output status to Unicode Log file (append)

/TS
Include Source file Time Stamps in the output.

/FP
Include Full Pathname of files in the output.

/NS
No Size - don't log file sizes.

/NC
No Class - don't log file classes.

/NFL
No File List - don't log file names.

/NDL
No Directory List - don't log directory names.

/TEE
Output to console window, as well as the log file.

/NJH
No Job Header.

/NJS
No Job Summary.

 

Repeated Copy Options

/MON:n
MONitor source; run again when more than n changes seen.

/MOT:m
MOnitor source; run again in m minutes Time, if changed.

/RH:hhmm-hhmm
Run Hours - times when new copies can be started.

/PF
Check run hours on a Per File (not per pass) basis.

 

Job Options

/JOB:jobname
Take parameters from the named JOB file.

/SAVE:jobname
SAVE parameters to the named job file

/QUIT
QUIT after processing command line (to view parameters).

/NOSD
NO Source Directory is specified.

/NODD
NO Destination Directory is specified.

/IF
Include the following Files.

 

Advanced options you'll probably never use

/EFSRAW
Copy any encrypted files using EFS RAW mode.

/MT[:n]
Multithreaded copying, n = number of threads to use (1-128) # default = 8 threads, not compatible with /IPG and /EFSRAW The use of /LOG is recommended for better performance.

/SECFIX
FIX file SECurity on all files, even skipped files.

/TIMFIX
FIX file TIMes on all files, even skipped files.

/XO
eXclude Older - if destination file exists and is the same date or newer than the source - don't bother to overwrite it.

/XC
eXclude Changed files

/XN
eXclude Newer files

/XL
eXclude "Lonely" files and dirs (present in source but not destination) This will prevent any new files being added to the destination.

/XX
eXclude "eXtra" files and dirs (present in destination but not source) This will prevent any deletions from the destination. (this is the default)

/XF file [file] ...
eXclude Files matching given names/paths/wildcards.

/XD dirs [dirs] ...
eXclude Directories matching given names/paths. XF and XD can be used in combination e.g.

ROBOCOPY c:\source d:\dest /XF *.doc *.xls /XD c:\unwanted /S 

/IA:[RASHCNETO]
Include files with any of the given Attributes

/XA:[RASHCNETO]
eXclude files with any of the given Attributes

/IS
Include Same, overwrite files even if they are already the same.

/IT
Include Tweaked files.

/XJ
eXclude Junction points. (normally included by default).

/XJD
Exclude junction points for directories. #

/XJF
Exclude junction points for files. #

/MAX:n
MAXimum file size - exclude files bigger than n bytes.

/MIN:n
MINimum file size - exclude files smaller than n bytes.

/MAXLAD:n
MAXimum Last Access Date - exclude files unused since n.

/MINLAD:n
MINimum Last Access Date - exclude files used since n. (If n < 1900 then n = number of days, else n = YYYYMMDD date).

/BYTES
Print sizes as bytes.

/X
Report all eXtra files, not just those selected & copied.

/V
Produce Verbose output log, showing skipped files.

/ETA
Show Estimated Time of Arrival of copied files.

/DEBUG
Show debug volume information (undocumented)


 # = New Option in Windows 7 and Windows 2008 R2
 ## = New Option in Windows 8 and Windows 10

 

File Attributes [RASHCNETO]

R
Read only

A
Archive

S
System

H
Hidden

C
Compressed

N
Not content indexed

E
Encrypted

T
Temporary

O
Offline

 

EXIT STATUS

The return code from robocopy is a bitmap.

These can be combined, giving a few extra exit codes.

Any value greater than 7 indicates that there was at least one failure during the copy operation.

HexDecimalMeaning if set

0x000No errors occurred, and no copying was done.

    
The source and destination directory trees

    
are completely synchronized.

0x011One or more files were copied successfully

    
(that is, new files have arrived).

0x022Some Extra files or directories were detected.

    
No files were copiedExamine the output log

    
for details.

0x044Some Mismatched files or directories were

    
detected. Examine the output log.

    
Housekeeping might be required.

0x088Some files or directories could not be copied

    
(copy errors occurred and the retry limit was

    
exceeded). Check these errors further.

0x1016Serious error. robocopy did not copy any files.

    
Either a usage error or an error due to

    
insufficient access privileges on the source

    
or destination directories.

0x033 (2+1)Some files were copied. Additional

    
files were present. No failure was encountered.

0x055 (4+1)Some files were copied. Some files were

    
mismatched. No failure was encountered.

0x066 (4+2)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.

0x077 (4+1+2)Files were copied, a file mismatch was

    
present, and additional files were present.

 

FILES

-

 

EXAMPLES

1) Simple copy of all files from one folder to another:

ROBOCOPY \\Server1\reports \\Server2\backup

2) Copy files including subfolders (even empty ones /E)
If this command is run repeatedly it will skip any files already in the destination, however it is not a true mirror as any files deleted from the source will remain in the destination.

ROBOCOPY \\Server1\reports \\Server2\backup *.* /E

3) List files over 32 MBytes in size:

ROBOCOPY C:\work /MAX:33554432 /L

4) Move files over 14 days old:
Note: the MOVE option will fail if any files are open and locked.

ROBOCOPY C:\work C:\destination /move /minage:14

5) Backup a Server:
The script below copies data from FileServ1 to FileServ2, the destination holds a full mirror along with file security info. When run regularly to synchronize the source and destination, robocopy will only copy those files that have changed (change in time stamp or size.)

@ECHO OFF
SETLOCAL

SET _source=\\FileServ1\e$\users

SET _dest=\\FileServ2\e$\BackupUsers

SET _what=/COPYALL /B /SEC /MIR
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode.
:: /SEC :: copy files with SECurity
:: /MIR :: MIRror a directory tree

SET _options=/R:0 /W:0 /LOG:C:\batch\RoboLog.log /NFL /NDL
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

6) Run two robocopy jobs at the same time with START /Min

Start /Min "Job one" ROBOCOPY \\FileServA\C$\Database1 \\FileServeBackupA\c$\Backups
Start /Min "Job two" ROBOCOPY \\FileServB\C$\Database2 \\FileServeBackupB\c$\Backups

7) Copy only permission changes
(additions and removals) assuming we already have a copy of the data:

ROBOCOPY \\FileServer\C$ \\SVR-Backups\c$\Backups /E /Copy:S /IS /IT

8) Use the exit codes in a batch file to report anomalies:

if %ERRORLEVEL% EQU 16 echo ***FATAL ERROR*** & goto end
if %ERRORLEVEL% EQU 15 echo OKCOPY + FAIL + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 14 echo FAIL + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 13 echo OKCOPY + FAIL + MISMATCHES & goto end
if %ERRORLEVEL% EQU 12 echo FAIL + MISMATCHES& goto end
if %ERRORLEVEL% EQU 11 echo OKCOPY + FAIL + XTRA & goto end
if %ERRORLEVEL% EQU 10 echo FAIL + XTRA & goto end
if %ERRORLEVEL% EQU 9 echo OKCOPY + FAIL & goto end
if %ERRORLEVEL% EQU 8 echo FAIL & goto end
if %ERRORLEVEL% EQU 7 echo OKCOPY + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 6 echo MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 5 echo OKCOPY + MISMATCHES & goto end
if %ERRORLEVEL% EQU 4 echo MISMATCHES & goto end
if %ERRORLEVEL% EQU 3 echo OKCOPY + XTRA & goto end
if %ERRORLEVEL% EQU 2 echo XTRA & goto end
if %ERRORLEVEL% EQU 1 echo OKCOPY & goto end
if %ERRORLEVEL% EQU 0 echo No Change & goto end
:end  

9) Copy files from one server to another

ROBOCOPY \\Server1\reports \\Server2\backup *.*
IF %ERRORLEVEL% LSS 8 goto finish

Echo Something failed & goto :eof

:finish
Echo All done, no fatal errors.

 

SEE ALSO

simplebackupintro(1), http://ss64.com/nt/robocopy.html, http://ss64.com/nt/robocopy-exit.html, http://theether.net/download/Microsoft/Utilities/robocopy.pdf, https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

 

NOTES

This manual page is an extract of the web pages http://ss64.com/nt/robocopy.html and http://ss64.com/nt/robocopy-exit.html provided by http://SS64.com.

 

BUGS

-

 

AUTHOR

robocopy was developed by Microsoft and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net

 

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


 

Index

NAME
SYNOPSIS
AVAILABILITY
DESCRIPTION
OPTIONS
Source options
Copy options
Destination options
Logging options
Repeated Copy Options
Job Options
Advanced options you'll probably never use
File Attributes [RASHCNETO]
EXIT STATUS
FILES
EXAMPLES
SEE ALSO
NOTES
BUGS
AUTHOR
COPYRIGHT

This document was created by man2html using the manual pages.
Time: 16:32:53 GMT, September 14, 2024