Why aren't Windows file copies restartable?

Windows has supported restartable file copies for a while. CopyFileEx() has supported COPY_FILE_RESTARTABLE for a long, long time. ROBOCOPY has handled restartable file copies since Windows NT4 - maybe eight years ago? So you might think Windows Explorer would handle restartable file copies. Unfortunately, here's what you get when your connection drops for even a second:

Same problem in Vista, despite the fact that file copies take eons. In the sixth major release of an operating system, is it too much to expect that the file system GUI handle network copies, especially when the base operating system's had the capabilities for almost a decade? Robocopy, a simple console application, tells you that the connection has dropped and that it will try again in 30 seconds. How about Explorer?

9 Comments

  • Here here! You've got my vote.

  • Abort, Retry, Cancel?

  • Here's why it will never come about.

    Who's responsibility is it? Is it the responsibility of the Network subsystem to not immediately terminate the network connection until a specified period has ended? Or is it the responsibility of the file system to not abort a file copy until a specified time period.

    What are the ramifications of a timeout in either case?

  • I agree. I usually cite the lack of improvement in file or network operations as one of my biggest frustrations with Vista.

  • Scott,

    It is the responsibility of explorer to resume a file copy. Simply merge features of Robocopy into explorer's codebase.

    I imagine that with a bit of engineering, you could make this transparent to the user and 100% backwords compatible.

    Both products are owned by Microsoft so it doesn't seem like such a hard problem to solve afterall.


  • Actually you CAN do restartable file copies, using robocopy (comes with rktools). Pass the "/z" flag and your done.

    I've actually gotten into the habbit of using robocopy because I never have to sit there and wait for windows to calculate folder counts just to show me a progress bar.

  • It is really amazing that nothing has been done to "fix" this.
    Not only you cannot restart, but if your target is full, it crashes, you cannot "pause" the operation if you need to disconnect the net, etc..
    When copying large sets of data it gives some pain. I usually zip lot of things before starting copy to make it a little faster, and if it breaks, well, I can restart the copy of a sinlge file instead. not needing to diff an whole filestructure.

  • Try Terracopy. It's free, and hooks into Explorer to provide just this functionality. No, I'm not an employee. :o)

  • how do you hook terracopy into internet explorer so that when you click on a link to copy (ie the run/save option) you can restart the copy in the event of connection failure?

Comments have been disabled for this content.