# Emcopy

Developer(s) Microsoft 1996, 23–24 years ago Windows NT 4 and later Command Freeware docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

Robocopy, or 'Robust File Copy', is a command-line directory and/or file replication command for Microsoft Windows. Robocopy functionally replaces Xcopy, with more options. First released as part of the Windows NT 4.0Resource Kit, it has been a standard feature of Windows since Windows Vista and Windows Server 2008. The command is robocopy.

EMCOPY EMCOPY duplicates a directory tree from one server to another, keeping the. 6 of 56 Version 5.6.46 Using EMC Utilities for the CIFS Environment. Continue reading Scripting a VNX/Celerra to Isilon Data Migration with EMCOPY. EMC supported tool, while EMCOPY. Emcopy is a fancy version of robocopy (if you are familiar with it). It allows you to copy data while preserving all NTFS ACLs, it's also multi-threaded so it's very fast. Sharedup allows you to migrate your shares/share permissions from your windows host to Celerra/Isilon so you don't have to recreate those manually.

## Features

• What I have found on a long quest of trial and error is a utility called 'EMCopy' from EMC. It is a free data migration tool, CLI only, and has a lot of features that just seem to work better than RoboCopy. I'll just give you a few quick points of what works better with EMCopy. Multithreading: EMCopy.
• Data Migration using emcopy emc’s emcopy (part of emc’s rather elusive but freely downloadable if you can find it CIFSTools.zip package) is akin to Microsoft’s own robocopy, only faster with extra benefits. The command syntax is much like robocopy so if you’re familar with that, then using emcopy will be easy.

Robocopy is noted for capabilities above and beyond the built-in Windows copy and xcopy commands, including the following, some requiring appropriate command-line options:

• Ability to tolerate network interruptions and resume copy (incomplete files are marked with a date stamp of 1970-01-01 and contain a recovery record so Robocopy knows where to continue from).
• Ability to skip NTFS junction points which can cause copying failures because of infinite loops (`/XJ`)
• Ability to copy file data and attributes correctly, and to preserve original timestamps, as well as NTFS ACLs, owner information, and audit information using the `/COPYALL` or `/COPY:`command line switches.
• Beginning with the XP026 version, the ability to copy folder (or directory) date and timestamps (`/DCOPY:T`), even with the ability to update folder timestamps (copied from existing folders) on folders already created from previous versions (that did not copy the folder date and timestamps).
• Ability to assert the Windows NT 'backup right' (`/B`) so an administrator may copy an entire directory, including files denied readability to the administrator.
• Persistence by default, with a programmable number of automatic retries if a file cannot be copied.
• A 'mirror' mode, which keeps trees synchronised by also deleting files in the destination that are not present in the source.
• Ability to skip files already in the destination folder with identical size and timestamp.
• A continuously updated command-line progress indicator.
• Ability to copy paths exceeding 259 characters — up to a theoretical limit of about 32,000 characters — without errors.[1]
• Multithreaded copying introduced with Windows 7 and Windows Server 2008 R2.[2]
• Return code[3] on program termination for batch file usage.

## Examples of use

Here are some examples of usage. If more than one option is specified, they must be separated by spaces.

• Copy directory contents of the source `Directory A` to the destination `Directory B` (including file data, attributes and timestamps), recursively with empty directories (`/E`):
`Robocopy 'C:Directory A' 'C:Directory B' /E`

If directory names have non-standard characters, such as spaces, they can be put in double quotes (as usual in command-line commands).

• Copy directory recursively (`/E`), copy all file information (`/COPYALL`, equivalent to `/COPY:DATSOU`, `D`=Data, `A`=Attributes, `T`=Timestamps, `S`=Security=NTFSACLs, `O`=Owner info, `U`=Auditing info), do not retry locked files (`/R:0`) (the number of retries on failed copies default value is 1 million), preserve original directories' Timestamps (`/DCOPY:T` - requires version XP026 or later):
`Robocopy C:A C:B /COPYALL /E /R:0 /DCOPY:T`
• Mirror A to B, destroying any files in B that are not present in A (`/MIR`), copy files in resume mode (`/Z`) in case network connection is lost:
`Robocopy C:A backupserverB /MIR /Z`

For the full reference, see the Microsoft TechNet Robocopy page.[4]

### Syntactic focus on copying folders

Robocopy syntax is markedly different from its predecessors (copy and xcopy), in that it accepts only folder names, without trailing backslash, as its source and destination arguments. File names and wildcard characters (such as `*` and `?`) are not valid as source or destination arguments; files may be selected or excluded using the optional 'file' filtering argument (which supports wildcards) along with various other options.[5]

For example, to copy two files from folder `c:bar` to `c:baz`, the following syntax is used:

And to copy all PDF files from `c:bar` to `c:baz`:

The files named are copied only from the folder selected for copying; fully qualified path names are not supported.

## Output

Robocopy outputs to the screen, or optionally to a log file, all the directories it encounters, in alphabetical order. Each directory is preceded by the number of files in that directory that fulfill the criteria for being copied. If the directory does not yet exist in the target, it is marked 'New Dir'. But if the directory is empty and the /E option is not used, or it contains no files meeting the criteria, a new directory will not be created.

If the /NFL (no file names in log) option is not used, the files being copied will be listed after the name of the directory they are in.

At the end of the output is a table giving numbers of directories, files, and bytes. For each of these, the table gives the total number found in the source, the number 'copied' (but this includes directories marked 'New Dir' even if they are not copied), the number 'skipped' (because they already exist in the target), and the number of 'mismatches', 'FAILED', and 'extras'. 'Failed' can mean that there was an I/O error that prevented a file being copied, or that access was denied. There is also a row of time taken (in which the time spent on failed files seems to be in the wrong column).

## Bandwidth throttling

Robocopy's 'inter-packet gap' (IPG) option allows some control over the network bandwidth used in a session. In theory, the following formula expresses the delay (D, in milliseconds) required to simulate a desired bandwidth (BD, in kilobits per second), over a network link with an available bandwidth of BA kbps:

${displaystyle D={B_{A}-B_{D} over B_{A}times B_{D}}times 512times 1000}$

In practice however, some experimentation is usually required to find a suitable delay, due to factors such as the nature and volume of other traffic on the network. The methodology employed by the IPG option may not offer the same level of control provided by some other bandwidth throttling technologies, such as BITS (which is used by Windows Update and BranchCache).

## Limitations

• Robocopy does not copy open files. Any process may open files for exclusive read access by withholding the `FILE_SHARE_READ`[6] flag during opening. Even Robocopy's Backup mode will not touch those files. (Backup mode instead runs Robocopy as a 'Backup Operator'. This allows Robocopy to override permissions settings, specifically, NTFS ACLs).[7][8] Normally Volume Shadow Copy Service is used for such situations, but Robocopy does not use it. Consequently, Robocopy is not suitable for backing up live operating system volumes. However, a separate utility such as `ShadowSpawn`[9] (Free, Open Sourced, and MIT Licensed) or `GSCopyPro`[10] (\$30 - \$50) or `DiskShadow.exe`[11] (included with Windows Server 2008), can be used beforehand to create a shadow copy of a given volume, which Robocopy can then back up.
• Robocopy versions on systems older than Windows Vista do not mirror properly. They ignore changed security attributes of previously mirrored files.[12][13]
• When specifying the `/MT[:n]` option to enable multithreaded copying, the `/NP` option to disable reporting of the progress percentage for files is ignored. By default the MT switch provides 8 threads. The n is the number of threads you specify if you do not want to use the default.[14]

## GUI

Although Robocopy itself is a command-line tool, Microsoft TechNet provides a GUI front-end called Robocopy GUI. It was developed by Derk Benisch, a systems engineer with the MSN Search group at Microsoft, and required .NET Framework 2.0.[15] It includes a copy of Robocopy version XP026.

### Emcopy Syntax

There are other non-Microsoft GUIs for Robocopy:

### Emcopy64

• 'WinRoboCopy' revision 1.3.5953.40896 released on April 19, 2016.[16]
• A program by SH-Soft, also called 'Robocopy GUI' v1.0.0.24 (October 8, 2005).[18]
• Cinchoo EazyCopy v1.0.0.4

Ken Tamaru of Microsoft has developed a copying program similar to Robocopy, called RichCopy, which is available on Microsoft TechNet. While it is not based on Robocopy, it offers similar features, and it does not require .NET Framework.[19]

## Versions

Several versions of Robocopy do not report the version number when executing `robocopy /?` on the command line. However, their version is stored inside the executable itself and can be queried with PowerShell for example (`gcm robocopy | fl *`) or inside Windows Explorer by right-clicking on Robocopy.exe, selecting Properties, then clicking on the Details tab.

Product versionFile versionYearOriginOther
1.54-1996Windows NT 4.0 Resource Kit© 1996
1.70-1997Windows NT Resource Kit
1.714.0.1.711997Windows NT Resource Kit
1.954.0.1.951999Windows 2000 Resource Kit
XP0105.1.1.10102003Windows 2003 Resource Kit
XP0275.1.10.10272008Bundled with Windows Vista, Server 2008, Windows 7, Server 2008r2© 1995-2004
10.0.1629910.0.16299.152017Bundled with Windows 10 1709© 2017
10.0.1713410.0.17134.12018Bundled with Windows 10 1803© 2018
10.0.1776310.0.17763.12018Bundled with Windows 10 1809© 2018
10.0.1836210.0.18362.12019Bundled with Windows 10 1903© 2019

• Command line
• GUI

## References

### Emcopy Gui

1. ^Lewis, Dick (15 November 2004). 'Robocopy XP010 FAQ'. Windows IT Pro. Penton Media. p. 2. Archived from the original on 9 October 2012.
2. ^'Multi-threaded robocopy for faster copies - Grant Holliday's Blog - Site Home - MSDN Blogs'. Blogs.msdn.com. 2009-10-23. Retrieved 2012-11-11.
3. ^'Return codes that are used by the Robocopy utility in Windows Server 2008 or Windows Server 2008 R2'. Support.microsoft.com. 2012-02-17. Retrieved 2012-11-11.
4. ^'Robocopy'. Technet.microsoft.com. Retrieved 2012-11-11.
5. ^'Robocopy'. Microsoft Docs. Microsoft. 31 October 2016. Retrieved 14 January 2019.
6. ^https://msdn.microsoft.com/en-us/library/aa363858.aspx'CreateFile function'. MSDN. FILE_SHARE_READ [...] Enables subsequent open operations on a file or device to request read access. Otherwise, other processes cannot open the file or device if they request read access.
7. ^'Robocopy.exe - Robust File Copy Utility - Version XP010'(PDF). Backup mode copies [...] enable you to copy some files as a Backup Operator that you would not be able to copy as a normal user.
8. ^'Default groups'. Microsoft TechNet. Backup Operators [...] Members of this group can back up and restore all files [...], regardless of their own individual permissions on those files.
10. ^'GSCopyPro'. GuruSquad. Retrieved 2013-03-06. gscopypro.exe is a tool that works similar to robocopy but has the ability to copy open files.
11. ^'Diskshadow'. Microsoft TechNet. Retrieved 2013-03-06. DiskShadow.exe is a tool that exposes the functionality offered by the Volume Shadow Copy Service (VSS).
12. ^'Microsoft's Robocopy compromise'. ZDNet. 2008-08-04. Archived from the original on March 17, 2010. Retrieved 2012-11-11.
13. ^'Ugly bug in Robocopy - ignoring security on file level - Martin Zugec blog'. Msmvps.com. 2008-03-03. Retrieved 2012-11-11.
14. ^'Robocopy's /MT option disables /NP option'. Microsoft TechNet. 2009-12-13. Retrieved 2014-02-26.
15. ^Joshua Hoffman (November 2006). 'Utility Spotlight Robocopy GUI'. TechNet Magazine. Microsoft Corporation and CMP Media, LLC. Retrieved 2008-07-17.
16. ^'WinRoboCopy - UpWay2Late.com Software'. Upway2late.com. Retrieved 2012-11-11.
17. ^'Easy RoboCopy'. TribbleSoft. Retrieved 2017-10-03.
18. ^'SH-RoboCopy GUI'. SH-Soft. Retrieved 2012-11-23.
19. ^Hoffman, Joshua (November 2006). 'Free Utility: RichCopy, an Advanced Alternative to RoboCopy'. TechNet Magazine. Microsoft Corporation and CMP Media, LLC. Retrieved 2008-07-17.