January 27, 2012

Versioning FAIL: Windows Vista/7 Robocopy

Last week I posted the excellent news that the Robocopy in new versions of Microsoft Windows is multi-threaded and thus much (much!) faster. Then I tried to actually use it on a Windows Vista machine. Redmond, we have a problem.

Spot the Problem

Let’s play a little game, shall we? Let’s see if you can spot the problem!

Windows Vista reports robocopy.exe as version 5.1.10.1027, but the exe is just 85.5 KB

Windows 7 also reports robocopy.exe as version 5.1.10.1027, but the exe is 95.0 KB

Now let’s run “robocopy /mt” so see if multi-threading is supported!

The Windows 7 version of Robocopy supports the "/MT" parameter

The Windows Vista version of Robocopy does not support the "/MT" parameter

There you have it. Two executables with the same version number but substantial differences in functionality. Thanks, Microsoft!

It turns out that only the “6.1″ versions of Microsoft Windows (Windows 7 and Windows Server 2008 R2) include multi-threaded robocopy. And my buddies tell me you can’t just move the exe to older versions.