It’s very common for technicians to run into hard drives or files that are on the brink of failure or that contain corrupted files, which can hang up traditional back-up and transfer methods. Disk Utility can be used to create an image of a folder or drive but tends to throw an input/output error at the slightest hesitation, like those caused by failing drives or corrupted files.
Ditto is a command-line tool that will copy, block by block, the information from one directory (the source) to another (the destination). It’s very simple and does not care about hesitation from mechanical or logical failures. This said, it will not extract data from a hard drive that’s too far gone. I like to use Ditto in verbose mode, just so I can see that it’s working and how far along it is.
Many people avoid Terminal for fear of typing all those long commands and file paths. Not an unjustified fear, but you can simply drag the source and destination right into the terminal window and the paths will be automatically entered for you. Here’s how to use Ditto my favorite way.
Assuming you have a Terminal window open, simply type the following (but leave off the brackets):
ditto -v [source] [destination]
If you’re copying a folder on your Desktop to your Documents folder, it would look like this:
ditto -v /Users/matt/Desktop/stuff/ Users/matt/Documents
The guide to using Ditto, and every other command-line application, can be found by typing man x in terminal, where ‘x’ is the name of the application. So, for Ditto’s user guide, simply type man ditto and then press return.