Menyalin banyak file tanpa berhenti pada kesalahan di OSX

12

Saya perlu menyalin beberapa Gb dari HD eksternal ke erangan saya dan beberapa file akan menyebabkan kesalahan. Jika saya melakukan ini dengan finder, itu akan berhenti pada kesalahan pertama.

Apakah ada cara untuk menyalin semuanya terlepas dari kesalahannya? Sesuatu seperti salinan teracopy di Windows?

cfischer
sumber
Nah, jika terjadi kesalahan, Anda mungkin tidak ingin menyalin file itu. Atau apakah Anda hanya ingin melewati yang terjadi kesalahan? Dan, sebenarnya pertanyaan yang lebih baik adalah: Mengapa apakah Anda mendapatkan kesalahan itu? Apa kesalahan apakah ini, bahkan?
slhck
Saya ingin menyalin semua file lain, dan menangani kesalahan, apa pun itu nanti.
cfischer
Kesalahan mana yang Anda dapatkan secara spesifik?
slhck
1
Saya harap mereka menambahkan fitur Windows Vista + ke finder dan terus menyalin sambil memperingatkan Anda tentang kesalahan.
Matthew Lock

Jawaban:

18

Di terminal, ketikkan

cp -Rp /Volumes/<source-volume>/<source-user>/<source-folder>/ /Volumes/<destination-volume>/<destination-folder>/

Folder tujuan haruslah folder baru yang Anda buat.

Jika Anda mendapatkan info tentang folder baru setelah menjalankan ini, Anda dapat melihat peningkatan ukuran folder.

Contoh

cp -Rp /Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/ /Volumes/external/newfolder

Ini akan menyalin dan menampilkan kesalahan untuk apa pun yang tidak dapat disalin tetapi tanpa berhenti.

* Jika nama direktori Anda berisi spasi beri tanda kutip di sekitar jalan

Contoh

cp -Rp "/Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/" /Volumes/external/newfolder
falcorklaatu
sumber
2
ada penjelasan tentang flag -Rp?
user337085
Ini harus berbeda untuk osx, di linux -Rp berarti recruse dan menjaga atribut, tidak ada hubungannya dengan kesalahan.
Benubird
1
man cp pada macOS, beri tahu saya: "Dalam mode -R, cp akan terus menyalin meskipun kesalahan terdeteksi."
adriaan
2

Kamu bisa memakai cp seperti yang disarankan atau rsync, tetapi dalam kasus I / O Error terkadang tidak berfungsi.

Jadi dalam hal ini, Anda bisa menggunakannya dd alat untuk file tertentu yang rusak.

dd singkatan dari "duplikasi disk". Ini adalah utilitas baris perintah   dibundel dengan Mac OS X. Versi gratis untuk Windows juga tersedia.

Berhati-hatilah, bahkan jika Anda terbiasa dengan baris perintah,   karena dd dapat menyebabkan kerusakan data Anda yang tidak dapat dipulihkan jika Anda tidak   tentukan input dan output dengan benar. Anda telah diperingatkan.

Argumen dd bersifat langsung:

  • jika = path_of_file_with_IO_errors menentukan jalur input
  • dari = path_of_clean_copy_to_create menentukan jalur output
  • conv = noerror, sync memberitahu dd untuk toleran terhadap kesalahan

Jalur output Anda tidak boleh berada di disk yang sama dengan file yang rusak.   Sebenarnya, Anda tidak harus terus menggunakan kartu atau disk dengan I / O   kesalahan, karena kemungkinan akan menyebabkan lebih banyak masalah di masa mendatang.   Setelah memulihkan data, Anda harus menghapusnya atau paling banyak menggunakannya untuk   menyimpan barang yang tidak penting.

Karena kesalahan I / O, dd dapat mengambil lebih banyak waktu untuk membuat salinan bersih daripada   salinan normal akan diambil.

Tapi itu sangat pantas ditunggu, karena sekarang kita memiliki file yang bersih   yang dapat kita gunakan sebagai gudang diagnostik, pratinjau, dan video   alat pemulihan.

Kesalahan I / O adalah bisnis yang serius, dan menghapus kartu setelahnya   memulihkan video mungkin HAL YANG HARUS DILAKUKAN. Kamu harus   juga mempertimbangkan bahwa sejumlah rekaman tidak akan dapat dipulihkan, atau dengan   kualitas yang kurang dari bintang.

Sumber: http://aeroquartet.com/wordpress/2012/06/06/how-to-copy-a-file-with-io-errors/

Contoh:

dd if=/Volumes/CD/broken_movie.avi of=~/Movies/broken_movie.avi conv=noerror,sync

Lihat juga:

kenorb
sumber
1
Saya mendengar penulis dd ingin menamainya cc, untuk salinan karbon, tetapi cc sudah diambil oleh kompiler C. Saya suka itu lebih baik daripada "duplikasi disk"
Tim Büthe
1

saya menggunakan Melampaui Bandingkan persis untuk tujuan ini (ini adalah perangkat lunak komersial tetapi memiliki uji coba gratis). Anda menyuruhnya untuk menyalin file, folder, atau seluruh drive atau kombinasi apa pun dan selesai sampai akhir tugas dan melaporkan masalah saat berjalan. Ini tidak membantu memulihkan file yang rusak, tetapi itu akan menyelesaikan pekerjaan tidak peduli berapa banyak masalah yang dihadapinya.

Tim D
sumber