OSX:如何强制多文件复制操作来完成错误

P i*_*P i 2 macos copy file

这是错的.

我想执行大型复制操作; 从我的笔记本电脑硬盘驱动器移动250 GB到外部驱动器.

OSX狮子声称这将需要大约五个小时.

经过几个小时的讨论,它报告说一个特定的文件无法复制(无论出于何种原因;我记不住了,我现在没有耐心重复实验).

在那个笔记上它保释.

我坦率地说是骇然.

在这个时代这个问题持续存在对我来说几乎不可信.我记得20年前使用Windows 3.1遇到了同样的情况.

对于苹果公司(或微软公司)来说,实现文件复制的方式有多么困难,以至于它会跳过故障,即刻将失败的操作列表写入stderr?那个实现会有多大用处?(顺便说一句,这两个问题都是修辞;只是表达了我的困惑;除非通过对实际问题的答案的评论或补充,否则请不要回答它们.

更重要的是(这是我的实际问题),我如何在OS X中实现这一点?

PS我对这里的所有解决方案都持开放态度:程序/脚本/第三方软件

Mic*_*ann 6

我听到并理解你的咆哮,但这接近于超级用户类型的问题,而不是编程问题(只保存你说​​你想自己实现的事实).

从描述中可以看出,当Finder无法复制一个特定文件时,它就会被保护(我的猜测是它正在为一些特权文件夹寻找管理员和/或root权限).

对于像这样的大量副本,您可以使用终端命令行:

例如

cp
Run Code Online (Sandbox Code Playgroud)

要么

sudo cp
Run Code Online (Sandbox Code Playgroud)

使用"-R"等选项(即使检测到错误也会继续复制 - 除非您使用"传统"模式)或"-n"(如果文件已存在于目的地,则不复制).您可以通过在man cp终端命令行输入" " 来查看所有可能的选项.

如果你真的想以编程方式做这个,那里有一些选项NSWorkspace(performFileoperation:source:destination:files:tag:方法(文档链接给你,查看NSWorkspaceCopyOperation常量).你也可以通过" NSFileManager"和它的copyItemAtPath:toPath:error:方法做更多低级别的东西,但这真的是粗暴的 -力量接近那里.