2

これはとても間違っています。

大規模なコピー操作を実行したい。ラップトップのハード ドライブから 250 GB を外付けドライブに移動します。

OSX ライオンは、これには約 5 時間かかると主張しています。

2 時間ほど試してみると、ある特定のファイルをコピーできなかったことが報告されました (何らかの理由で; 思い出せず、今のところ実験を繰り返す忍耐力がありません)。

そして、そのメモでそれは保釈されます。

私は率直に言って愕然としています。

この問題が今日でも続いているとは、私にはほとんど信じられません。20 年前に Windows 3.1 で同じシナリオに遭遇したことを覚えています。

Apple (または Microsoft) の人々が、失敗をスキップして失敗した操作のリストをオンザフライで stderr に書き込むような方法でファイル コピーを実装するのはどれほど難しいでしょうか? そして、その実装はどれほど役立つでしょうか? (ちなみに、これらの質問は両方とも修辞的です。単に私の完全な当惑の表現です。実際の質問への回答へのコメントまたは補足による場合を除き、回答しないでください:)。

さらに言えば(これが私の実際の質問です)、OS Xでこれを自分で実装するにはどうすればよいですか?

PS 私はここですべてのソリューションを受け入れます: プログラム/スクリプト/サードパーティ ソフトウェア

4

1 に答える 1

6

私はあなたの怒りを聞いて理解していますが、これはプログラミングの質問ではなく、スーパーユーザータイプの質問であることに国境を接しています(これを自分で実装したいと言ったという事実によってのみ保存されます)。

説明から、Finderが特定のファイルをコピーできなかったときに救済されたように聞こえます(私は、ある特権フォルダーの管理者またはルート権限、あるいはその両方を探していたと思います)。

このような大量のコピーの場合は、ターミナルコマンドラインを使用できます。

例えば

cp

また

sudo cp

「-R」(「レガシー」モードを使用していない限り、エラーが検出されてもコピーを続行します)または「-n」(ファイルが宛先にすでに存在する場合はコピーしない)などのオプションを使用します。man cpターミナルコマンドラインで「」と入力すると、可能なすべてのオプションが表示されます。

本当にこれをプログラムで実行したい場合は、 NSWorkspaceperformFileoperation:source:destination:files:tag:メソッド(ドキュメントがリンクされています。定数を参照してください)にオプションがあります。 " "NSWorkspaceCopyOperationを使用してより低レベルの処理を実行することもできますが、これは方法ですが、実際にはブルートになります-力がそこに近づきます。NSFileManagercopyItemAtPath:toPath:error:

于 2012-04-26T00:06:35.823 に答える