Copying many files without stopping on errors on OSX
In terminal, type in
cp -Rp /Volumes/<source-volume>/<source-user>/<source-folder>/ /Volumes/<destination-volume>/<destination-folder>/
Destination folder should be a new folder you are creating.
If you get info on the new folder after running this you can see the folder size increase.
Example
cp -Rp /Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/ /Volumes/external/newfolder
It will copy and display errors for anything it can't copy but without stopping.
*If your directory names contain spaces put quotes around the path
Example
cp -Rp "/Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/" /Volumes/external/newfolder
You can use cp
as suggested or rsync
, but in the case of I/O Error sometimes it won't work.
So in this case, you can use dd
tool for specific files which were corrupted.
dd
stands for “disk duplication”. This is a command-line utility bundled with Mac OS X. A free version for Windows is also available.Be extremely careful, even if you are familiar with command line, because dd can cause unrecoverable damage to your data if you don’t specify correctly input and output. You have been warned.
The arguments of dd are straight-forward:
- if=path_of_file_with_IO_errors specifies input path
- of=path_of_clean_copy_to_create specifies output path
- conv=noerror,sync tells dd to be fault-tolerant
Your output path should not be on the same disk as the damaged file. Actually, you shouldn’t continue using the card or disk with I/O errors, because it’s likely to cause more problems in the future. After recovery the data, you should scrap it or at most use it to store unimportant stuff.
Due to I/O errors, dd can take more time to create the clean copy than a normal copy would take.
But it’s really worth the wait, because now we have a clean file on which we can use our arsenal of diagnostics, preview and video recovery tools.
I/O errors are a serious business, and scrapping the card after recovering the videos is probably the RIGHT THING TO DO. You should also consider that some amount of footage won’t be recovered, or with a less-than-stellar quality.
Source: http://aeroquartet.com/wordpress/2012/06/06/how-to-copy-a-file-with-io-errors/
Example:
dd if=/Volumes/CD/broken_movie.avi of=~/Movies/broken_movie.avi conv=noerror,sync
See also:
- Why do we use cp to copy files and not dd? (in unix-derivatives)
- https://stackoverflow.com/questions/19470160/cant-back-up-sd-card-with-dd-complains-input-output-error
- dd clone hard drive: Input/Output Error though "chkdsk" says OK
Teracopy has released a Mac version which you can download from the Apple store.