Earlier this week, I found out how to copy file and directory permissions using RoboCopy. To quote Jessica @UberGeekGirl DeVita after I tweeted about my adventures with RoboCopy:
However, there are two main disadvantages to RoboCopy that I’ve come across so far.
RoboCopy Disadvantage #1
It needs the .NET Framework 2.0. Okay, that’s not a huge disadvantage because there’s not much that you can do with a Windows server without the .NET 2.0 framework. Remember, Server 2003 was initially branded as “Windows .NET Server.” However, if you’re still hobbling along with older versions of Windows or you’re really, really obsessed with removing possible attack vectors, you’ll need to keep this requirement in mind.
RoboCopy Disadvantage #2
It is a CLI tool. I know, I know. You’re probably howling “That’s not a disadvantage!” And really, it’s not a huge disadvantage. However, if you only interact with it occasionally then you might prefer to deal with a nice GUI that can help you navigate the myriad of options available. Of course, if you want a GUI to layer on top of RoboCopy there are several to choose from so you’re not completely left in the dark:
I admit, the above two “disadvantages” are rather wispy. However, it’s possible that you could bump into them. And even if you never do bump into them, you might still want to consider an alternative to RoboCopy.
RichCopy is a tool that was initially developed internally at Microsoft back in 1996. It was developed by Microsoft employee Ken Tamaru. If the above to disadvantages are of any significance to you, then RichCopy might be of special interest because it flies in the face of both.
From my preliminary investigation, one product is not a superset of the other. It appears that some features of one are not in the other and vice versa. For example, RichCopy doesn’t seem to have the ability to build a directory structure using empty folders and zero-length files like RoboCopy can with the /create switch. RichCopy does, however, support FTP transfer and the saving of commonly used preferences to different profiles for easy reuse (wow do I wish that was a RoboCopy feature). Much is made of RichCopy’s multithreaded nature, however many people seem to be unaware that RoboCopy is also multithreaded with the use of the /MT[:n] switch. In fact, the latest versions of RoboCopy default to seeding /MT: with the value 8.
Another feature that RichCopy has that I can’t seem to replicate in RoboCopy is the “Consolidate Multiple Sources” option. RoboCopy selects file on a [source] [destination] basis, whereas RichCopy can copy based on multiple sources, however the contents of the multiple sources are consolidated under a the single parent directory of the destination. That can snarl you up a bit if you’re not familiar with the consequences of concatenating multiple folders’ content.
Here’s a quick tip for anyone who decides to try RichCopy: Immediately turn on the display of advanced options by selecting View >> Advanced Options. This allows you to see many more of the options available on the File Copy Options window.
RichCopy’s executable can be ran at the command line and includes an extensive list of switches, however they are not at all similar to RoboCopy’s switches so be prepared to memorize a whole new set. An unexpected bonus in RichCopy is that there is a massive list of errors that you can choose to have cancel the entire copy operation:
Sure, that feature by itself is pretty cool, however I found it cooler that I now have a list of error codes and their human-readable messages. Of course, that also brought up this topic:
RichCopy’s GUI is no-nonsense, but not daunting for casual users (I think? Perhaps I’m a bad judge of non SysAdmin types). You can control just about every aspect of file copying that you could conceivably need in most situations (a notable exception being the creation of empty files and folders). The exclusion and inclusion lists are impressive:
If you’re looking for a RoboCopy GUI, perchance look at RichCopy instead. It has most of the functions and can even access FTP shares (not that any of us are still using FTP). The feature to save commonly used options as individual profiles could come in very hand for frequently performed file copying activities. Saved profiles are accessible through the command line tool as well!
Do you have a RoboCopy alternative that you prefer? Or is RoboCopy forever unparalleled? Let me know in the comments.