Kopieren Sie viele Dateien, ohne bei OSX-Fehlern anzuhalten

16

Ich muss mehrere GB von einer externen Festplatte auf meine Festplatte kopieren, und einige Dateien verursachen Fehler. Wenn ich das mit dem Finder mache, hört es beim ersten Fehler auf.

Gibt es eine Möglichkeit, alles zu kopieren, unabhängig von den Fehlern? So etwas wie eine Kopie von Teracopy in Windows?

cfischer
quelle
Wenn ein Fehler auftritt, möchten Sie diese Datei wahrscheinlich nicht kopieren. Oder möchten Sie nur diejenigen überspringen, bei denen ein Fehler auftritt? Und eigentlich wäre die bessere Frage: Warum bekommst du diese Fehler? Welche Fehler sind das überhaupt?
Slhck
Ich möchte alle anderen Dateien kopieren und die Fehler behandeln, egal, wie sie später aussehen.
cfischer
Welche Fehler bekommen Sie konkret?
Slhck
1
Ich hoffe, sie fügen dem Finder die Windows Vista + -Funktion hinzu und kopieren weiter, während sie Sie vor Fehlern warnen.
Matthew Lock

Antworten:

20

Geben Sie im Terminal ein

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

Der Zielordner sollte ein neuer Ordner sein, den Sie erstellen.

Wenn Sie nach dem Ausführen Informationen zum neuen Ordner erhalten, wird die Größe des Ordners erhöht.

Beispiel

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

Es kopiert und zeigt Fehler für alles an, was es nicht kopieren kann, aber ohne anzuhalten.

* Wenn Ihre Verzeichnisnamen Leerzeichen enthalten, setzen Sie den Pfad in Anführungszeichen

Beispiel

cp -Rp "/Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/" /Volumes/external/newfolder
falcorklaatu
quelle
2
irgendwelche Erklärungen zu -Rp flag?
user337085
Dies muss für osx anders sein. Unter Linux bedeutet -Rp, Attribute neu zu definieren und beizubehalten, nichts mit Fehlern zu tun.
Benubird
1
man cpunter macOS sagt mir: "Im -R-Modus kopiert cp weiter, auch wenn Fehler erkannt werden."
Adriaan
2

Sie können cpwie vorgeschlagen oder verwenden rsync, aber im Fall eines E / A-Fehlers funktioniert dies manchmal nicht.

In diesem Fall können Sie das ddTool für bestimmte Dateien verwenden, die beschädigt wurden.

ddsteht für "Disk Duplication". Dies ist ein Befehlszeilenprogramm, das im Lieferumfang von Mac OS X enthalten ist. Eine kostenlose Version für Windows ist ebenfalls verfügbar.

Seien Sie äußerst vorsichtig, auch wenn Sie mit der Befehlszeile vertraut sind, da dd Ihre Daten unwiderruflich beschädigen kann, wenn Sie die Ein- und Ausgabe nicht korrekt angeben. Du wurdest gewarnt.

Die Argumente von dd sind einfach:

  • if = path_of_file_with_IO_errors gibt den Eingabepfad an
  • of = path_of_clean_copy_to_create gibt den Ausgabepfad an
  • conv = noerror, sync weist dd an, fehlertolerant zu sein

Ihr Ausgabepfad sollte sich nicht auf demselben Datenträger wie die beschädigte Datei befinden. Tatsächlich sollten Sie die Karte oder den Datenträger nicht mit E / A-Fehlern weiter verwenden, da dies in Zukunft wahrscheinlich zu weiteren Problemen führen wird. Nach der Wiederherstellung der Daten sollten Sie sie verschrotten oder höchstens zum Speichern unwichtiger Daten verwenden.

Aufgrund von E / A-Fehlern kann es länger dauern, bis dd die saubere Kopie erstellt, als dies bei einer normalen Kopie der Fall wäre.

Aber das Warten lohnt sich wirklich, denn jetzt haben wir eine saubere Datei, auf der wir unser Arsenal an Diagnose-, Vorschau- und Videowiederherstellungs-Tools verwenden können.

E / A-Fehler sind eine ernste Angelegenheit, und das Verschrotten der Karte nach dem Wiederherstellen der Videos ist wahrscheinlich das RICHTIGE. Sie sollten auch berücksichtigen, dass eine bestimmte Menge an Filmmaterial nicht wiederhergestellt werden kann oder eine weniger hervorragende Qualität aufweist.

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

Beispiel:

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

Siehe auch:

Kenorb
quelle
1
Ich habe gehört, die Autoren von dd wollten den Namen cc für carbon copy verwenden, aber cc wurde bereits vom C-Compiler übernommen. Ich mag das besser als "Disk Duplication" 😀
Tim Büthe
1

Ich benutze Beyond Compare für genau diesen Zweck (es ist kommerzielle Software, hat aber eine kostenlose Testversion). Sie fordern es auf, eine Datei, einen Ordner, ein gesamtes Laufwerk oder eine beliebige Kombination zu kopieren, und es wird bis zum Ende der Aufgabe fertiggestellt und meldet Probleme. Dies hilft nicht, beschädigte Dateien wiederherzustellen, beendet jedoch den Auftrag, unabhängig von der Anzahl der auftretenden Probleme.

Tim D
quelle