Windows Robocopy Command Tutorial with Examples To Copy Files In Safe Way – POFTUT

Windows Robocopy Command Tutorial with Examples To Copy Files In Safe Way

Robocopy or Robust File and Folder Copy application is very popular amongst Windows system administrators. Robocopy will copy the local or given file to the remote or destination location.

robocopy Features

The command robocopy provides very useful features for files copying over network. Below we will list some of them.

Resume Interrupted Copy when the network or remote host is down during a copy the copy operation can resume where it left.

Preserve File Attributes and timestamp of the copied file where owner and audit information is also preserved.

Ability To Update Copied File Attributes and Timestamps of the copied files and folders which will set to the latest date and time.

Administrator Owned File Copy is supported with the option /B.

Mirror Mode is provided to sync or mirror given files and folder or directory updated files will be updated and deleted files will be deleted on the target.

Skip Allready Existing Files by checking size and timestamp information and comparing it to the source and target.

Progress Bar will shown current copy operation graphically.

Multi-threaded copying which will allow copy, mirror multiple files and directories at the same time which will decrease the complete copy operation time.

robocopy Command Syntax

The general syntax of robocopy command is like below.

  • SOURCE is the source file or directory we want to copy
  • DESTINATION is the destination file or directory we want to copy
  • OPTIONS are different features or behaviors we want to use like recursive, verbose, extension filter, etc.

Copy Specified Folder

The most basic operation with robocopy is copying sources folders to the destination. In this example, we will copy the directory named mytest to the destination folder yourtest

> robocopy mytest yourtest
Copy Folder
Copy Folder

After copy operation, some statistics are provided by robocopy

  • Start shows start time of copy operation
  • Source shows source directory
  • Dest shows destination directory
  • Files shows file filter
  • Options shows given options
  • Total shows total files and folders count
  • Copied shows copied files and folders count
  • Skipped shows not copied files and folders
LEARN MORE  Linux SCP Command Usage With Examples

Copy From Local System To Remote System

We can also copy a file and folders to the remote system. We will provide a remote system hostname or IP address before the destination path. We can use \\BACKUPSERVER or \\ to specify the remote system.

In this example, we will copy the source directory named mytest to the remote system with IP address under the path Users\ismail with the named yourtest .

> robocopy mytest \\\Users\ismail\yourtest
Copy To Remote System
Copy To Remote System

Copy Only Given File Types or Extensions

robocopy provides some filtering features while copying files. We can specify the filenames and extensions we want to copy. This will skip other file names and extensions. We will provide the file name or extension after the destination folder.

In this example, we only want to copy *.txt extension files.

> robocopy mytest yourtest *.txt
Copy Only Given File Types or Extensions
Copy Only Given File Types or Extensions

We can see from the output that only one file is copied but there was more than one file. Copied file name and byte count is also printed.

Copy SubFolders

By default, only first level directories are copied to the destination. If we need to copy all level and subdirectories folders we should enable /S.

> robocopy mytest yourtest /S
Copy SubFolders
Copy SubFolders

List Files

There is a very useful feature for robocopy where source files are not copied and just listed. This feature can be useful if we want to check existing files and folders. We can use /L option to print the list of files and directories.

> robocopy mytest yourtest /L
List Files
List Files

As we can see from the output that all files and folders are skipped and not copied.

LEARN MORE  Expect Scripting Tutorial With Examples

List Files Recursively

While robocopy is mainly used to copy files from remote to local or local to remove we can use /L and /S options in order to list remote files. We can merge two options list and recursive to list all level files and folders.

> robocopy mytest yourtest /L /S

Copy Files Lower Than Given Size

While copying files we can specify the size of files we want to copy. In this example we will copy files those sizes are lower than 1K .  We will use the /MAX option for this.

> robocopy mytest yourtest /S /MAX:1000
Copy Files Lower Than Given Size
Copy Files Lower Than Given Size

As we can see from the results some of the files are copied but some of them are not copied because of the size restriction.

Copy Files Higher Than Given Size

The reverse of the previous option is /MIN option . This will only copy files higher than the given size. In this example, we will copy files higher than 1K which is 1000 kilobytes.

> robocopy mytest yourtest /S /MIN:1000
Copy Files Higher Than Given Size
Copy Files Higher Than Given Size

Move Files

The default behavior of robocopy is copying files. Sometimes we may need to move files. This can be done with robocopy too. We will provide /MOV option in order to move files and folders.

> robocopy mytest yourtest /S /MOVE

Logging Operations

While doing copy and move operations we can also need some logs, especially in bulk data operations. We can write a log about specified operations with /LOG option. We can also specify the log file name y adding at the end of /LOG option. In this example, we will write robocopy operation log to log file named backup.log . This will prevent regular output

> robocopy mytest yourtest /S /LOG:backup.log

The log file can be listed with type command in MS-DOS command line like below.

> type backup.log

Copy Given File Properties

Files and folders may have different properties. These properties can be used for different purposes like the listing owner, audit information, timestamps, etc. We can copy these attributes too with the robocopy command. Here are the attributes we can specify for the copy. We will also use /copy: option by adding the property we want to copy.

  • D is used to copy data properties
  • A used for attributes
  • T for time stamps
  • S is used for NTFS access control list simply ACL
  • O is used for the owner information
  • U is used for Auditing information
LEARN MORE  How To Generate 4096 bit Secure Ssh Key with Ssh Keygen

In this example, we will copy time stamp attributes or properties with the following command.

> robocopy mytest yourtest /copy:T

Copy All Attributes with /copyall

We can also copy files with all properties of attributes with the /copyall parameter like below. This is equal to the /copy:DATSOU.

> robocopy mytest yourtest /copyall

Delete or Remove Destination Files and Directories That No Longer Exist In The Source

If we are trying to make an identical copy of the local files and directories to the remote we need to purge or remove remote files and directories that no longer exist in the source. We can use /purge option for this.

> robocopy mytest yourtest  /purge

3 thoughts on “Windows Robocopy Command Tutorial with Examples To Copy Files In Safe Way”

  1. Thanks for this article it was great but I already shifted to GS Richcopy 360. Using Robocopy was a mess, it gave errors one day or another. Now I am satisfied with GS Richcopy 360’s performance. I don’t think I am going back and use Robo. Thanks!

  2. I’m doing fine with Robocopy, I won’t pay for any software to do something I can already do on my own. Thank you for your tutorial!

  3. Thanks. Not a bad summary. I recommend two additions:
    1) some examples for spotting new/changed files based on dates, along the /XC /XN /XO settings, especially in combos.
    2) a note about how DANGEROUS the /MIR and /PURGE options can be, accidentally deleting files.


Leave a Comment