All I want to do is copy some files!!
I just have to blog this so I can help anybody else in this situation (including myself next time I need it).
I was trying to recover data from a friend’s computer with a sick hard drive. I couldn’t boot into Windows due to some poorly placed bad sectors so I booted using a very handy Linux rescue CD called Trinity Rescue Kit. This worked great. I got on my network, mounted the Windows drives, and ran the ‘fileserver -s’ command to auto-share the drives to Windows via SMB.

Everything is cruising along…
The Problem
I want to be able to easily copy specific folders and files (sometimes entire folder trees) across three different target (sick) drives to my local drive.
I don’t want to have to ctrl-select a hundred different folders or copy them one at a time and have to wait between copies. I want to be able to easily filter folders beforehand and copy them all at once. I am positive this is easier than I made it, but I embarrassingly banged my head for a couple of hours with these tools:
- XCOPY - You can exclude folders, but it’s painful, deprecated, and I want a GUI.
- robocopy - Powerful, kind of a pain to get in XP (comes standard in Vista), and has a basic GUI. It still is cumbersome if you want to do a one-time selective copy of a bunch of folders.
- XXCOPY - A super-XCOPY. Tons of options and just over-complex for one-time use. No GUI that I could find.
- Beyond Compare - This is a fantastic diff tool and is actually mentioned in a few places as a potential answer to this problem. You can exclude files through a relatively intuitive interface, but there is one big problem once you start the copy. Summed in in their documentation: If a folder is selected, its entire contents are copied, regardless of file filters or display filters in effect. So, no good for what I need.
- Various other shareware-type apps - It would just confuse things more to link to them here.
- Write my own - This was one of those problems where I thought about starting Visual Studio the entire time but I always thought I was going to find the solution any second. Luckily, I found something that kind of worked.
The Solution
I’ve used Backup4all before backup purposes but it didn’t occur to me to try it for one-time copies. I don’t think there is a free version, but it’s cheap and does its job very well (it at least has a free 30-day trial). The secret is to use “mirror” mode which means it just copies and doesn’t try to compress or anything.

The workflow is exactly what I wanted. At it’s simplest (it has a lot more options), you choose the folders in a treeview (this works for network or local locations):

Then add any global include or exclude filters:

Then select a destination:

Then hit the Backup button:

And the filtered list of files is copied! Such a simple problem to not be able to solve easier. Hopefully this post will help.
Please comment if you’ve found a better way to do this.