Why is robocopy so slow?

HRL 65 Reputation points
2026-10-31T11:56:56.5+00:00

I am using robocopy on Windows10 to make backups of my external USB hard discs.

In this case:
driveletter R: is a 16TB Seagate Ironwolf hdd.

driveletters Z and V are both 8TB Seagate Barracuda hdd's. These discs each backup about half of the data on R.

The data are primarily video files. The data are primarily static but new files are regularly added tot R.

My robocopy commands are:

Incremental backup from R: to Z:

robocopy “r:\videos\speelfilms USA-UK (0-M)” “z:\videos\speelfilms USA-UK (0-M)” /mir /im /nfl   /log:“c:\video\robocopy + junctions\r_naar_z.txt”

Incremenetal backup from R: to V:

Robocopy r: v: /mir /im /nfl /xd “r:\videos\speelfilms USA-UK (0-M)”  /log:“c:\video\robocopy + junctions\r_naar_v.txt”

When I run these commands with the /l (list only) flag, both commands complete in seconds. Only a handful of files and directories (the ones recently added to R) need to be copied, as shown at the end of the logfile. This is correct.

But when I actually run the commands, both take many hours to complete. The process is not freezing, as I can see in the logfile, it is just stepping very slowly through the directory tree. Both discs are working all the time (indicator light blinking). When finished, only the few files and directories mentioned earlier are copied, as indicated at the end of the logfile, and the result is ok..

But why are these commands taking so much time and how can I speed up the process? Google AI suggests using /mt (multithreading) and /copy:dt and /dcopy:t flags, but does this make sense?

Windows for home | Windows 10 | Files, folders, and storage
0 comments No comments

5 answers

Sort by: Most helpful
  1. MotoX80 37,946 Reputation points
    2026-11-01T14:26:04.32+00:00

    As I commented in my first answer, I use robocopy to mirror my pictures/videos/music from my laptop, where I typically make changes, to an external hard drive for backup. I also do the same to an old desktop pc. That way I have multiple backup copies in case I something bad happens.

    I use /mir because sometimes I delete or rename files and folders. I want to mirror the Multimedia folders to the other copies.

    robocopy c:\Multimedia e:\Multimedia /xf  AlbumArt*.jpg  /xf thumbs.db /xf desktop.ini /xf folder.jpg /mir /l
    

    I tested the /im switch. Here is what I found.

    The first time I run robocopy /mir /im, all the files are copied to the destination folder.

    If I rerun that command, no files are copied. The source and destination folders match.

    I then changed the property of a file in the source folder to read-only.

    Running robocopy again, does not copy any files. I would have expected that one file to be copied.

    I then removed the read-only property on that file.

    On the next run of robocopy, it copied that one file.

    I cannot explain that behavior. I would have expected the file to be copied when it was set to read-only and again when read-only was removed.

    I suggested that you run robocopy WITHOUT the /nfl switch. But in your reply I see that you are still using it. If you look in the images that I posted robocopy puts the word Modified on the line that contains the file name when the /im switch applies.

    User's image

    Rerun robocopy without the /nfl list. If they all say Modified, then you know that something on your pc is touching file attributes and not necessarily the file data itself. Then rerun it without the /im switch and see what files get copied.

    Another thought is to create a test folder, and copy one or two files to it. Robocopy should then run very fast and it should be easy to test different options. Use notepad and create/update a txt file to see when changes to it get copied.

    robocopy "r:\videos\test" "z:\videos\test" /mir /im
    

    My guess is that your problem is the /im switch.

    Was this answer helpful?


  2. HRL 65 Reputation points
    2026-11-01T13:15:50.2066667+00:00

    So, why is robocopy copying all the files from R to Z and V even if the files already exist on V and never were modified on R?

    I'll try to explain what I did.

    1. The hdd R was an empty hdd, the data were on Z and V. I have choosen to use R as the primary hdd, Z and V as the backups so the first thing I did was to copy all the data from Z and V to R using robocopy with the following options:

    Copy from V to R (/mir = /e + /purge)

    Started : dinsdag 27 oktober 2026 17:43:07

    Source : v:\videos\

    Dest : r:\videos\

    Files : . *
    *Options : . /NFL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /IS /IM /R:1000000 /W:30

    Total Copied Skipped Mismatch FAILED Extras

    Dirs : 1420 1420 0 0 0 0

    Files : 5999 5999 0 0 0 0

    Bytes : 5.965 t 5.965 t 0 0 0 0

    Times : 12:24:24 12:24:01 0:00:00 0:00:22

    Speed : 146941533 Bytes/sec.

    Speed : 8408.062 MegaBytes/min.

    Ended : woensdag 28 oktober 2026 06:07:31

    Copy from Z to R (/e without /purge)

    Started : woensdag 28 oktober 2026 13:52:00

    Source : z:\videos\

    Dest : r:\videos\

    Files : .

    Options : . /NFL /S /E /DCOPY:DA /COPY:DAT /IS /IM /R:1000000 /W:30

    Total Copied Skipped Mismatch FAILED Extras

    Dirs : 1406 1405 1 0 0 7

    Files : 5559 5559 0 0 0 0

    Bytes : 5.635 t 5.635 t 0 0 0 0

    Times : 11:42:52 11:42:20 0:00:00 0:00:31

    Speed : 147030819 Bytes/sec.

    Speed : 8413.170 MegaBytes/min.

    Ended : donderdag 29 oktober 2026 01:34:53

    1. This lasted considerably, but that was understandible because so much data had to be copied.
    2. Then I added a few directories and files to R and used the commands as specified in the original question to backup R. I expected that just the few files and directories recently added to R would be copied to Z and V.
    3. However, this does not happen. The backup to Z is finished so I will share the summary of the logfile; the copy from R to V is now still running after 20 hours and both seem to copy everything.
    4. This is the summary of he logfile of the copy from R to Z:

    Backup copy from R to Z

    Started : vrijdag 30 oktober 2026 17:31:51

    Source : r:\videos\speelfilms USA-UK (0-M)\

    Dest : z:\videos\speelfilms USA-UK (0-M)\

    Files : .*
    *Options : . /NFL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /IM /R:1000000 /W:30

    Total Copied Skipped Mismatch FAILED Extras

    Dirs : 1406 1 1405 0 0 0

    Files : 5562 5562 0 0 0 0

    Bytes : 5.636 t 5.636 t 0 0 0 0

    Times : 11:59:05 11:58:25 0:00:00 0:00:40

    Speed : 143777974 Bytes/sec.

    Speed : 8227.041 MegaBytes/min.

    Ended : zaterdag 31 oktober 2026 05:30:57

    Was this answer helpful?


  3. HRL 65 Reputation points
    2026-11-01T12:49:52.4766667+00:00

    Let me first answer a few suggestions:

    1. I have included the /im because I do not only want non-existing files and directories to be copied, I also want modified files to be copied, although this doesn't happen very often.. I need an exact backup copy.
    2. The logfile is on the local SSD C, so it cannot interfere the copy process. I am not copying symbolic links or junctions,

    But, I have to admit that I was not completely accurate in my information. Sorry about that. The reason robocopy takes so long is that actually EVERY file is copied, even if the file already exists on the target hdd and never was modified on the source hdd.

    So I have to rephrase my question: NOT "why is robocopy so slow" INTO "why is it copying all the files" even if they exist and are not modified. To explain what I did, I'll post another seperate answer.

    Was this answer helpful?

    0 comments No comments

  4. MotoX80 37,946 Reputation points
    2026-10-31T15:27:17.7566667+00:00

    What is the reason for using both the /mir and /im switches?

    I found this discussion: https://ss64.org/viewtopic.php?t=408

    I too use robocopy but I just use /mir.

    robocopy c:\Multimedia e:\Multimedia /xf  AlbumArt*.jpg  /xf thumbs.db /xf desktop.ini /xf folder.jpg /mir /l
    

    I'm going to have to do more testing with /im. I'm not sure that I care about the source file timestamp in the MFT.

    With /im I see more files being copied. These get shown as Modified.

    User's image

    I see that the file length and last modified are identical. I don't know what changed with the file.

    User's image

    I see the word junction in the log file name. If you use symbolic links you may need to eXclude them. They could lead to a recursion loop. That could certainly cause it to run for hours.

                /XJ :: eXclude symbolic links (for both files and directories) and Junction points.
    
               /XJD :: eXclude symbolic links for Directories and Junction points.
    
               /XJF :: eXclude symbolic links for Files.
    

    I would suggest running robocopy interactively without the /nfl and /log options. You should be able to watch the files as they are copied.

    robocopy "r:\videos\speelfilms USA-UK (0-M)" "z:\videos\speelfilms USA-UK (0-M)" /mir /im 
    

    Assuming that it finishes in a reasonable time, you should be able to "up arrow" to get the command back. Running it again should be equivalent to running it with /l because all the files were copied in the first run and the second run should tell you that there are no files to copy.

    Was this answer helpful?

    0 comments No comments

  5. Horace Wiggins 625 Reputation points
    2026-10-31T12:21:02.45+00:00

    What speed is your CPU capable of? What speed is each of your other drives capable of?

    How many cores and threads does your CPU have?

    https://computer.howstuffworks.com/hard-disk.htm

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.