在 OSX 上复制大量文件而不因错误而停止

在 OSX 上复制大量文件而不因错误而停止

我需要将几 GB 的文件从外部硬盘复制到主硬盘,但有些文件会导致错误。如果我使用 Finder 执行此操作,它会在出现第一个错误时停止。

有没有办法复制所有内容,无论是否有错误?比如复制万亿拷贝适用于 Windows?

答案1

在终端中输入

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

目标文件夹应该是您正在创建的新文件夹。

如果运行此操作后您获得有关新文件夹的信息,您会看到文件夹大小增加了。

例子

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

它会复制并显示无法复制的任何内容的错误,但不会停止。

*如果目录名称包含空格,请用引号将路径引起来

例子

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

答案2

您可以cp按照建议使用或rsync,但在出现 I/O 错误的情况下有时它将不起作用。

因此在这种情况下,您可以使用dd工具来处理已损坏的特定文件。

dd代表“磁盘复制”。这是与 Mac OS X 捆绑在一起的命令行实用程序。Windows 也有免费版本。

即使您熟悉命令行,也要格外小心,因为如果您没有正确指定输入和输出,dd 可能会对您的数据造成不可恢复的损坏。您已被警告。

dd 的参数很简单:

  • if=path_of_file_with_IO_errors 指定输入路径
  • of=path_of_clean_copy_to_create 指定输出路径
  • conv=noerror,sync 告诉 dd 具有容错能力

您的输出路径不应与损坏的文件位于同一磁盘上。实际上,您不应该继续使用出现 I/O 错误的卡或磁盘,因为它很可能在将来引起更多问题。恢复数据后,您应该将其丢弃或最多将其用于存储不重要的东西。

由于 I/O 错误,dd 创建干净副本所需的时间可能比正常副本要长。

但这确实值得等待,因为现在我们有一个干净的文件,我们可以在其上使用我们的诊断、预览和视频恢复工具。

I/O 错误是一件很严重的事,在恢复视频后报废该卡可能是正确的做法。您还应该考虑到有些素材无法恢复,或者质量不太好。

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

例子:

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

也可以看看:

答案3

我用无可比拟正是出于这个目的(它是商业软件,但有免费试用版)。您告诉它复制文件、文件夹或整个驱动器或任何组合,它会完成任务并报告过程中的问题。这无助于恢复任何损坏的文件,但无论遇到多少问题,它都会完成工作。

答案4

Teracopy 已经发布了 Mac 版本,你可以下载来自 Apple 商店。

相关内容