Windows

8 Practical Robocopy Examples For Your Next Backup




Robocopy is a powerful backup utility that ships with most versions of Microsoft Windows. I’ve put this post together to showcase a few powerful Robocopy examples. You can use these examples for your next backup or as a general guide to using Robocopy.

Default Behavior

Robocopy does a raw file copy at a single directory level when used without any switches. By default, it won’t copy any directories unless you specify otherwise. In this example, I am using Robocopy to backup all the files in my Documents folder to a flash drive.

C:\>Robocopy C:\Documents\ E:\

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.

Mirror a complete directory stucture

Robocopy can backup your files in a number of ways. You can change how Robocopy operates using a combination of switches. In this example we tell Robocopy to create an exact mirror copy of the source directory. /MIR will copy both files and folders and mirror the source directory structure.

C:\>Robocopy C:\Documents E:\ /MIR

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MIRMake a mirror copy of the directory structure on the destination drive. Delete any files that aren't in the source.

Move files (delete from source)

Robocopy can move files from a source directory to a destination. This is useful when you want to clear up space on your hard drive. This technically isn’t a backup since Robocopy will remove the files you copy. **Note** this example moves files only. If you want to move both files and folders you must use the /MOVE switch.

C:\>Robocopy C:\Documents E:\ /MOV

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MOVMove source files to destination. Removes files from source.

Mirror directory structure but keep destination data

When using /MIR, Robocopy deletes files in the destination directory that aren’t in the source. You can specify for Robocopy to keep destination files with /XX switch. Useful when you’re doing a simple data dump to a backup drive that has other files you want to keep.

C:\>Robocopy C:\Documents E:\ /MIR /XX

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MIRMake a mirror copy of the directory structure on the destination drive. Delete any files that aren't in the source.
/XXKeep destination files instead of deleting them.

Copy security permissions

Sometimes it is necessary to copy over the security attributes of files and folders. This is useful on a server where users have varying access to the file system. You want to make sure these security attributes stay intact when you copy data back to the server. Here I am mirroring my directory structure and copying over security permissions.

C:\>Robocopy C:\Documents E:\ /MIR /SEC

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MIRMake a mirror copy of the directory structure on the destination drive. Delete any files that aren't in the source.
/SECCopy security permissions.

Specify retries and wait time for locked files

Robocopy has built in programming to handle locked files. If a file is locked Robocopy can retry the copy as many times as you want. Here we specify a 2 retry count with /R switch. Simultaneously, we are also telling Robocopy to wait 10 seconds before attempting the next retry with the /W switch.

C:\>Robocopy C:\Documents E:\ /R:2 /W:10 

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/R:2Retry 2 times before moving on to the next file.
/W:10Wait 10 seconds before going to the next retry cycle.

Mirror entire C:\ drive but exclude hidden and system files

You might be thinking about grabbing everything on your C:\ drive. Not a bad idea if you really want to snag absolutely everything. Do you really need all the system and hidden files though? You can tell Robocopy to exclude these specific files with the /XA switch. Here we tell Robocopy to exclude files with the system and hidden attributes set.

C:\>Robocopy C:\ E:\ /MIR /XA:SH

Parameters / SwitchesDescription
C:\Source directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MIR Make a mirror copy of the directory structure on the destination drive. Delete any files that aren't in the source.
/XA:SHExclude system and hidden files when copying.

Stringing it all together

The true power of Robocopy reveals itself when you use many of these switches together. This allows for a fine tuned backup that meets your requirements. In this last Robocopy example, I mirror my entire C:\ drive, exclude the system and hidden folders, Retry twice before moving on- waiting 10 seconds after each retry, and log the results to file on my hard drive.

C:\>Robocopy C:\ E:\ /MIR /XA:SH /R:2 /W:10 /LOG:C:\log.txt

Parameters / SwitchesDescription
C:\DocumentsSource directory. This is where we will be copying files FROM.
E:\Destination Directory. This is where we will copy files TO.
/MIRMake a mirror copy of the directory structure on the destination drive. Delete any files that aren't in the source.
/XA:SHExclude system and hidden files when copying.
/R:2Retry 2 times before moving on to the next file.
/W:10Wait 10 seconds before going to the next retry cycle.
/LOG:C:\log.txtLog events to a text file. Useful for troubleshooting if something goes wrong.

Resources

Did you enjoy these Robocopy examples? If you’d like to experiment with other switches you can reference this Microsoft article for a complete list. Alternatively, you can run the following command at your command prompt:

C:\>Robocopy /?

 

Leave a Reply

Your email address will not be published. Required fields are marked *