2

When I move a file from C: to D: (for example), sometimes I might have an older backup to merge into, but then it will start copying and stop halfway with a message that says something like this: "Hey, you're about to overwrite this, is that OK?"

So why doesn't Windows ask me those questions first before starting? And how can I get Windows to do this?

3

It's inefficient to check all sources against targets. Depending on the number of files and speed of storage media, it could take just as long to check as it does to copy. Besides, the targets may have changed by the time the copy/move operation gets to them.

Windows 7 at least lets you make decisions about overwriting/renaming without holding up the rest of the copy/move. This is a big (and welcome) improvement over earlier Windows versions, such as XP.

If you are merging backups, you may be better to use xcopy, or even install an RSync server/client. If you don't want the conflicts, then move the existing target(s) out of the way before you start.

  • 4
    OP, note that writing a file in a multi-process OS is always full of race conditions, so you always have to check whether a file exists immediately before writing it. this is probably implemented in the low level file system drivers. that means if it checks for all existing files up front, it will be making that check twice for every file, once before overall copy, and once before write. and even then, there is the chance that another process will have created a file with a clashing name between the pre-check and the write check, so doing so will not always work the way you want. – Frank Thomas Nov 28 '13 at 4:33

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.