I am having problems with robocopy for whatever reason.

I have several scripts I use daily that utilize copy, xcopy, and robocopy, and they are all working currently, except for this one. I am using the same, standard switches I use in my other scripts.

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR

Any files directly in K:\Some Folder get copied. But any files in, say K:\Some Folder\Some Subfolder do not get copied. I looked this up and using either /s or /e should copy all files in sub-directories as well. Why isn't it? If I pause the script, it says "*Extra Files" in some places - that might have something to do with it.

Previously I was using these switches, but it still didn't work after simplifying:

 /e /w:0 /r:2 /XO /NFL /NDL /NJH /NJS /nc /ns /np
  • /mir switch includes /e and /purge so *Extra File is logged when a file is being deleted from destination, in your case - from H:\Files\1 folder. Your command looks good to me, it works for me anywa. I can't think of anything else than robocopy having no read access to the subfolders of your source, K:\ some folder. If you're using NTFS, check if all subfolders inherit permissions from source folder. If this is a network drive - check share read rights. – Kitet Sep 7 '17 at 12:42
  • @Kitet K:\ is a WebDav share. H:\ is a local network share on an in-house file server. I keep files in the WebDav share so I can access them outside of the building, but for complicated reasons, even though I can map K:\, I need them to also be available on local network storage. Yes, I have permissions to everything and can do this graphically, but I do this at logon/logoff via script. – InterLinked Sep 7 '17 at 12:43

There's a /S option in robocopy, too. Also a /E that is like /S, but additionally forces empty folders to be copied.

/S : Copy Subfolders.
/E : Copy Subfolders, including Empty Subfolders.

Supposedly, /MIR implies /E

/MIR : MIRror a directory tree—equivalent to /PURGE plus all subfolders (/E)

…but I have not found this to be empirically true. You should include the /E or /S option explicitly.

| improve this answer | |

Problem: Any files directly in K:\Some Folder get copied. But any files in K:\Some Folder\Some Subfolder do not get copied.

The solution is to not use robocopy at all, but use xcopy.

Instead of:

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR

this should be used instead:

xcopy "K:\Some Folder" "H:\Files\1" /c /s /e /y

I don't know why robocopy didn't work, but xcopy with these switches does what needs to be done, quickly and efficiently.

| improve this answer | |
  • 2
    "Xcopy has been deprecated under Vista and Windows 2008, this means that while still available now it might disappear in a future OS release. To ensure your scripts are 'future proof' use other tools (such as Robocopy) instead of xcopy. " according to ss64.com/nt/xcopy.html – user75875 Mar 17 '18 at 15:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.