Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Having to move several very large files (VHDs) between two servers, I launched the file copy operation using Windows Explorer in a Remote Desktop session, and then closed the session without logging off, leaving the file copy to work; the next day, I logged in back and the file copy seems to have completed... but all the timestamps on the files (created, last accessed, last modified) refer to the time when I launched the copy, and I know for sure the copy operation needed several hours.

I would have expected at least the "last accessed" or "last modified" timestamps to refer to the actual time when the file copy operation ended, but looks like this isn't how it works.

How can I check (if I can at all) if the copy completed succesfully, and when?

The file size is not an indicator, as the files always get allocated the full size, even if a copy operation is interrupted.

share|improve this question

The best solution I know of is to use RoboCopy with the /log: option.

share|improve this answer
That's ok... but when the file copy is already done using Explorer? – Massimo Apr 1 '12 at 13:47
@Massimo, your only other option in that case is to decipher the event logs (and good luck with that). – John Gardeniers Apr 1 '12 at 22:35

You could use fciv to generate a hash of the file on both source and destination servers. If the hashes match, you can be as good as 100% certain that the copy was successful.

share|improve this answer

You don't state which operating system you are using, however later versions of Windows Performance Monitor could be used to give you an indication of time, if you add the bytes sent per second or bytes read per second counter for the network interface in use.

The performance monitor graph, shows a maximum of 1000 points (Windows 7*), if accuracy isn't too important, you could set the sample frequency to 60 seconds, with a total duration of 60000 seconds (16.6 hours).

It's not going to be terribly accurate, especially on a busy server, but might just give you a pretty good indication, especially if you couple it with other counters, e.g. logical disk activity, kernel paged pool size etc.

If higher time accuracy or longer durations are required, you could always enable logging.

Couple this with a checksum utility to ensure the files are identical.

Apologies for squashing the window in the screenshot below, I didn't want the image to generate scroll bars on SF, but you can roughly see the effect of 60/60000 as detailed above. Also excuse the lack of useful data on the graph, I obviously haven't left it running for long enough, but you get the idea.

Performance Monitor

* I'm sure this will also be true of Windows Server 2008 R2, but don't have a box available to test this on at this moment in time.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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