Microsoft DOS robocopy command
A robust file copy command for the Windows command line.
The robocopy command is an external command that is available in the below Microsoft operating systems as robocopy.exe.
ROBOCOPY source destination [file [file]...] [options]
|source||Source Directory (drive:\path or \\server\share\path)|
|destination||Destination Dir (drive:\path or \\server\share\path)|
|file||File(s) to copy (names/wildcards: default is "*.*")|
|/S||Copy Subdirectories, but not empty ones.|
|/E||Copy subdirectories, including Empty ones.|
|/LEV:n||Only copy the top n LEVels of the source directory tree.|
|/Z||Copy files in restartable mode.|
|/B||Copy files in Backup mode.|
|/ZB||Use restartable mode; if access denied use Backup mode.|
|/EFSRAW||Copy all encrypted files in EFS RAW mode.|
|/COPY:copyflag[s]||What to COPY for files (default is /COPY:DAT).
(copyflags : D=Data, A=Attributes, T=Timestamps).
(S=Security=NTFS ACLs, O=Owner info, U=aUditing info).
|/DCOPY:T||COPY Directory Timestamps.|
|/SEC||Copy files with SECurity (equivalent to /COPY:DATS).|
|/COPYALL||COPY ALL file info (equivalent to /COPY:DATSOU).|
|/NOCOPY||COPY NO file info (useful with /PURGE).|
|/SECFIX||FIX file SECurity on all files, even skipped files.|
|/TIMFIX||FIX file TIMes on all files, even skipped files.|
|/PURGE||Delete dest files/dirs that no longer exist in source.|
|/MIR||MIRror a directory tree (equivalent to /E plus /PURGE).|
|/MOV||MOVe files (delete from source after copying).|
|/MOVE||MOVE files AND dirs (delete from source after copying).|
|/A+:[RASHCNET]||Add the given Attributes to copied files.|
|/A-:[RASHCNET]||Remove the given Attributes from copied files.|
|/CREATE||CREATE directory tree and zero-length files only.|
|/FAT||Create destination files using 8.3 FAT file names only.|
|/256||Turn off very long path (> 256 characters) support.|
|/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 may be started.|
|/PF||Check run hours on a Per File (not per pass) basis.|
|/IPG:n||Inter-Packet Gap (ms), to free bandwidth on slow lines.|
|/SL||Copy symbolic links versus the target.|
|/MT[:n]||Do multi-threaded copies with n threads (default 8).
n must be at least 1 and not greater than 128.
This option is incompatible with the /IPG and /EFSRAW options.
Redirect output using /LOG option for better performance.
File Selection Options
|/A||Copy only files with the Archive attribute set.|
|/M||Copy only files with the Archive attribute and reset it.|
|/IA:[RASHCNETO]||Include only files with any of the given Attributes set.|
|/XA:[RASHCNETO]||eXclude files with any of the given Attributes set.|
|/XF file [file]...||eXclude Files matching given names/paths/wildcards.|
|/XD dirs [dirs]...||eXclude Directories matching given names/paths.|
|/XC||eXclude Changed files.|
|/XN||eXclude Newer files.|
|/XO||eXclude Older files.|
|/XX||eXclude eXtra files and directories.|
|/XL||eXclude Lonely files and directories.|
|/IS||Include Same files.|
|/IT||Include Tweaked files.|
|/MAX:n||MAXimum file size - exclude files bigger than n bytes.|
|/MIN:n||MINimum file size - exclude files smaller than n bytes.|
|/MAXAGE:n||MAXimum file AGE - exclude files older than n days/date.|
|/MINAGE:n||MINimum file AGE - exclude files newer than n days/date.|
|/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 = n days, else n = YYYYMMDD date).
|/XJ||eXclude Junction points. (normally included by default).|
|/FFT||Assume FAT File Times (2-second granularity).|
|/DST||Compensate for one-hour DST time differences.|
|/XJD||eXclude Junction points for Directories.|
|/XJF||eXclude Junction points for Files.|
|/R:n||Number of Retries on failed copies: default 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).|
|/L||List only - don't copy, timestamp or delete any files.|
|/X||Report all eXtra files, not just those selected.|
|/V||Produce Verbose output, showing skipped files.|
|/TS||Include source file Time Stamps in the output.|
|/FP||Include Full Pathname of files in the output.|
|/BYTES||Print sizes as bytes.|
|/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.|
|/NP||No Progress - don't display percentage copied.|
|/ETA||Show Estimated Time of Arrival of copied files.|
|/LOG:file||Output status to LOG file (overwrite existing log).|
|/LOG+:file||Output status to LOG file (append to existing log).|
|/UNILOG:file||Output status to LOG file as UNICODE (overwrite existing log).|
|/UNILOG+:file||Output status to LOG file as UNICODE (append to existing log).|
|/TEE||Output to console window, as well as the log file.|
|/NJH||No Job Header.|
|/NJS||No Job Summary.|
|/UNICODE||Output status as UNICODE.|
|/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.|
robocopy c:\hope c:\hope2 *.txt
In this first example any .txt file would be copied from the hope directory into the hope2 directory. Whenever you want to copy one or more files and not a complete directory the file must be specified after the destination directory.
robocopy c:\hope c:\hope2
In the above example the robocopy command would copy all files (not directories) in the hope directory to the hope2 directory.
robocopy c:\hope c:\hope2 /e
In the above example all files and folders (including empty ones) will be copied from the hope directory to the hope2 directory.
robocopy c:\hope c:\hope2 /MIR
This example will mirror what is in c:\hope into c:\hope2 and purge any files in the hope2 directory that do not exist in the hope directory. Use the /mir switch cautiously since it will be deleting files that do not match in the destination directory.
robocopy \\computer\hope C:\hope2
Next, this example would copy any of the files in the hope directory on the network computer named computer to the current computer hope2 directory.