我需要将几 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 商店。