Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I need to copy several Gb from an external HD to my moan hd and some files will cause errors. If I do this with the finder, it will stop on the first error.

Is there a way to copy everything no matter the errors? Something like copy of teracopy in Windows?

share|improve this question
    
Well, if an error occurs, you probably don't want to copy that file. Or do you just want to skip the ones where an error occurs? And, actually the better question would be: Why do you get those errors? What errors are these, even? –  slhck Aug 7 '12 at 11:19
    
I want to copy all other files, and handle the errors, whatever they are later. –  Fernando Aug 7 '12 at 11:37
    
Which errors are you getting specifically? –  slhck Aug 7 '12 at 11:42
add comment

2 Answers

up vote 5 down vote accepted

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.

share|improve this answer
add comment

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:

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.