How to use robocopy for taking regular backups on Windows

Having switched from linux to windows recently, I was looking for an rsync alternative. rsync is a popular tool in the linux world used for taking routine backups and also general file transfer. But since I use it mostly for backups and I'm a command line dude, I was determined to find a windows equivalent which can do the same. That's when I found robocopy.

Despite its trivial sounding name, robocopy.exe is a versatile tool found in almost all windows installations at C:\windows\system32 and does a great job of taking incremental file backups. The best way to configure a robocopy backup is to create a simple batch file such as the one below:

This example assumes that you have a source code directory located at c:\source and you want to backup the entire directory to a USB pen-drive at e:\source. If you have more directories to backup, you can add them before the :halt statement:

robocopy c:\docs e:\docs /E /PURGE /ndl /Z robocopy c:\music e:\music /E /PURGE /ndl /Z

Now, let’s look at what those parameters to robocopy command do. The source and destination folders are obvious, here is what follows:

/E Copy subdirectories (similar to --recursive option in rsync) /PURGE Delete destination files that no longer exist in source (--delete rsync option)/ndl Don't log directory names while copying /Z Copy files in restartable mode

You can run robocopy /? to see a full list of options available in this tool. If you want to schedule backups (like once a week or month), simply go to Task Scheduler from Control Panel -> Administrative Tools and schedule the above script to run accordingly.

Enjoy, your DIY backup solution for Windows is ready!

Originally published at prahladyeri.github.io on July 8, 2020.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Prahlad Yeri

Freelance Programmer and Writer. Educate and solve problems is my mantra. I work on full stack web development and automation projects.