Robocopy is preinstalled with Windows 7. I've used it many times in the past. I tried to copy a folder to a remote share with

robocopy c:\source "\\server\share\path" /s /r:2 /w:2` 

As a result I get permission denied. Using explorer I can copy files to this share. I've opened a command prompt with administrator permissions with the same result. The share is read/write for public.

EDIT I've successfully mapped a driveletter to the share, but robocopy still fails

EDIT I've added the /B switch without success. The exact error is:

2009/09/26 20:43:14 ERROR 5 (0x00000005) 
    Accessing Destination Directory \\drobo\Drobo\fotos\__NEW\Ericsson\
  • Have you tried mapping the shared folder to a drive letter?
    – CGA
    Aug 19, 2009 at 19:09
  • Yes I tried that first. Same result
    – Edosoft
    Aug 24, 2009 at 10:45
  • Have your tried taking ownership of the shared folder? Are you on a workgroup or an Active directory domain?
    – CGA
    Aug 24, 2009 at 11:36
  • I'm using a Workgroup. I did take ownership.
    – Edosoft
    Sep 23, 2009 at 15:53
  • If you use the /V parameter, does Verbose mode give you any other information? The error 5 is usually an access denied message. From a command prompt can you use the COPY command? Does this work with other UNCs or is the Drobo the only one that fails? If so, the Drobo people may be the best place to turn for answers. Nov 9, 2009 at 20:20

5 Answers 5


Quoted from here :

In my case, I started out with full control on both the source and destination shares. The problem was that Robocopy was resetting the ACL on the destination share to a null value (nobody has permission) before it began recursing subdirectories. After some quick tests, my conclusion is that Robocopy does not handle inherited permissions. Say you are copying C:\Share1 to D:\, and C:\Share1 is inheriting its permissions from the C:\ root directory, it actually has no explicit ACL. Therefore, when you copy its ACL, you are actually copying... nothing. By copying an empty ACL to your destination your permissions are removed in the first step of the copy, and all subsequent writes to the share fail with Error 5.

This is only a problem when you are copying from a source which you are accessing WITH inherited permissions and a destination which you are accessing WITHOUT inherited permissions. If you copy C:\ (which has you explicitly in its ACL), to D:\, there is no issue. If this is indeed your problem, you can resolve it by adding yourself explicitly to the source ACL with full control. When the copy runs, your ACL entry is duplicated to the destination, and the subsequent file copies can be written. You can undo your changes (on both source and destination) after the copy completes.

If you continue to have problems despite the above, you might want to consider trying the /B switch, which attempts to back up the file using your privileges as a Backup Operator. This will allow you to copy files that you otherwise couldn't, for example, if you are not on the ACL on your destination share. Robocopy defaults to attempting a restartable copy. By giving up restartable copies the worst case is that you lose the file currently being transferred in the event of a disruption. The next pass will restart that file from its beginning instead of partway through.

Hope that helps. Here's a quote from Microsoft's Robocopy doc regarding the /B switch:


If you copy NTFS security information (ACLs) along with file data, it is possible to copy files to which you have read access, but not write access. After such a file is copied once, and the ACLs are applied, you may find that to get an “Access Denied” error when you try to copy the file again. In this situation you should use the /B or /ZB switch to copy the files in Backup Mode.

/B copies all files with backup semantics (Backup Mode). /ZB first attempts to copy files in restartable mode (for greater resiliency) but if that fails with an “Access Denied” error it automatically retries the copy using Backup Mode.


Try copying files using the Backup flag :

/B : Copy files in Backup mode.


In addition to previous answers I can extend with the fix that worked for me. In my case I had local folders and files were the ownership was claimed by another user on the system. I simply claimed the ownership of all folders and sub folders and everything worked fine without the backup switch.

Claim ownership of a folder and its sub folders: http://technet.microsoft.com/en-us/magazine/ff404240.aspx

  • So in this case, the folder must be claimed the ownership by the batch script user account ? Jul 6, 2014 at 2:55

You can also write a script to fix this automatically

# To run robocopy with logging which logs errors
robocopy source dest /MIR /NP /TEE /R:0 /W:1 /FFT /LOG+:log.txt 

# get errors from log and use set-content so it only writes if there are errors.
get-content log.txt | select-string "0x00000005" | set-content errors.log

#if statements to check if it even had errors.  only if errors go into if statement.
if (test-path errors.log) {

    #now capture the paths exactly.  Get-unique so it writes one error only once. 
    #Will assume you're using UNCs to copy vs. drive letters, please modify as necessary
    select-string -path errors.log -pattern "\\\\.*$" | %{ $_.Matches[0].captures[0].value} | get-unique > paths.log

    #just do foreach loop for each path.
    foreach ($path in $paths) { 

        #use subinacl to take ownership and assign permissions, it is better and faster 
        #than icacls and ps ways but you can use whatever works.  Report the changes you 
        #made.  if '$path' is a folder then you will need to modify subinacl command to 
        #inherit etc.  look it up.
        .\subinacl /file "$path" /setowner="YOUR ID" >> change-perms.log
        .\subinacl "$path" /grant="your ID"=F >> change-perms.log


    #run your robocopy command again to copy missed file in previous step. 
    robocopy source dest /MIR /NP /TEE /R:0 /W:1 /FFT /LOG+:log.txt 

    #Delete the error log file so it does not go in to if loop next time you run.
    remove-item error.log (use force, erroraction etc as necessary)

  • 3
    It's worth noting that this script is for use with Windows Powershell. Jan 8, 2016 at 17:08

For me it worked fine when I ran the command directly on the server, but when I ran it from PowerShell remoting I would get this error. I was also trying to copy files from the local machine to a network share. The fix for me was to use:

Invoke-Command -ComputerName $sourceServer -Credential $credential -Authentication Credssp -ScriptBlock {
    & RoboCopy "C:\Source" "\\OtherServer\C$\Destination" /E

Specifically, using -Credential $credential -Authentication Credssp fixed the issue for me.

Hopefully this helps others who encounter the Error 5 issue when using RoboCopy and PS Remoting.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .