Macでコピーするために複数のファイルをキューに入れるにはどうすればよいですか?


15

Macで複数のファイルをコピーすると、システムはそれらをすべて同時にコピーしようとします。問題は2つあります。

まず、複数のファイルを選択してコピーすると、データベースのACIDとは異なり、「すべてまたは何もしない」アプローチですべてが1つのプロセスに入ります。多くの場合、これは望ましくありません。

さらに、他のコピープロセスを追加すると、システムはすべてを同時にコピーしようとします。

たとえば、大きなファイルAをコピーすることにし、後で大きなファイルBもコピーすることにしました。これにより、「大きなファイル」の1つが多数のファイルの選択であるかどうかに関係なく、2つの並行コピー操作が行われます。

私はいくつかの理由でこれが好きではありません:

  • 複数のコピープロセスが一度に実行されると、他のプロセスが動かなくなるようです。
  • また、複数のファイルを同時にコピーすると、コピープロセス自体が非常に遅くなるようです。
  • 最後に、プロセスが中止された場合、どのファイルも宛先に到達しません。
  • ファイルをキューに追加すると、すぐにコピーが開始され、プロセスがさらに遅くなります。
  • これは、(ローカル)ネット上の他のマシンまたはドライブにコピーするときの本当の問題です。

結果:A最初に転送して使用したいファイルは、必要以上に到着するのに時間がかかり、LAN上の中央のHDからコピーする場合、他のすべてのファイルも到着するまで最初のファイルを使用できません。

したがって... Macでコピーするために複数のファイルをキューに入れるにはどうすればよいですか?明確にするために:多くのファイルが選択されるか、ファイルが1つずつ追加されるかどうかに関係なく、それらはすべて、キューが完了するまで、一度に1つのファイルのみをコピーするキューに入れられます。

Bashの回答、特にPerlも歓迎します!


私は質問を本当に理解していません。一度に複数の独立したコピー操作を開始したように思えますが、それでも…?同じコピー操作の一部として、関連するすべてのファイルをコピーしてみましたか?たとえば、すべてを選択してからコピー先にドラッグしますか?または、それらを選択してからCmd-CCmd-V宛先で?
ダニエルベック

@Daniel質問を明確にしようとしました。これは私自身も遭遇した問題です。独立したコピー操作を開始することです。解決策は、コピーするファイルを置くだけのキューで、ジョブは順次処理されます。
-slhck

@slhck 最後に、プロセスが中止された場合、どのファイルも宛先に到達せず、独立した操作に適用されますか?何他のすべてのファイルも到着するまで、私は最初のファイルを使用することはできません。平均?
ダニエルベック

1
また、多くのファイルを選択してコピーするときにも問題になります。すべてのファイルは、その中のファイルをキューに入れることができない1つのプロセスを構成します。これは私見も悪いです。それでも、ファイルをキューに追加したいと思います。
ケブマン

実際に次々とコピーされます。コピーされる順序は本質的にランダムですか?
ダニエルベック

回答:


8

UltraCopier

UltraCopierは、現在開発中の無料のクロスプラットフォームコピーユーティリティです。そのため、まだ洗練されていません。インストールすると、メニューバーに配置されます。

これは、キューにあなたを可能にコピーリスト管理コピーまたは移動後、順次処理されているジョブを、。コピープロセスの優先度と転送のブロックサイズを定義することもできます。

新しいバージョンを使用すると、同様のソースおよび/または宛先でグループ化できます。

ここに画像の説明を入力してください


いいね!使用しています!完璧に動作します!実際に、XCode、Cocoa、Objective Cを調べて、独自のアプリの作成を検討しました。
ケブマン

4

bashソリューションは次のとおりです。

cp file1 dest1; cp file2 dest2

コピーするファイルの数についてこれを繰り返します。セミコロンとcpコマンドを追加し続けるだけです。

あなたもできる

cp file1 dest1 && cp file2 dest2

この例では、前のファイルが正常にコピーされた場合にのみファイルがコピーされます。

フォルダの場合、次のようなことができます。

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done

しかし、この方法でフォルダ全体をコピーしようとすると、再び1つのプロセスとして扱われるため、望ましくありません。また、フォルダ内の各ファイルをキューに入れたいです。
ケブマン

1
@ケブマン:私の最新の編集を参照してください。
ワッファー

2
このforアプローチでは、スペースとグロビング文字を含むファイルに注意してください。私はおそらく安全のためにfind -print0パイプでそれをするでしょうxargs -0
slhck

2

Path Finder 6は、ウルトラコピーよりもナビゲートしやすいように見え、明確なキューを作成し、さらに多くのオプションがあります。30日間の試用版もあります。

しかし、私はこれを専門的に使用しているので、完全に価値があると言います。

Path Finder 6のファイル操作(YouTubeビデオ)


1
無料のソリューションを探していましたが、Path Finderは良いアプリであることが知られています。実際、Finderが非常に単純化されているため、中途半端なことをしたい場合はサードパーティのアプリが必要になるのは残念だと思います。
ケブマン14年

2

Finderの代替Path Finderには、バージョン6以降のコピーキュー機能が含まれています。

ファイル転送キュー

ツールバー項目または別の統合ウィンドウから現在のファイル操作にアクセスします。


2

このスレッドの他のコピーマネージャーの一部に加えて、ForkLiftをご覧になることをお勧めします。http://www.binarynights.com/forklift/

長所:

  • キューのオン/オフを切り替え、
  • FTP + SFTP + Amazon S3 + WEBDav、
  • 開発者向けの便利な同期ツールの束。

短所:

  • 有料(ただし、執筆時点ではApp Storeに特別なものがありますが...)、
  • App Storeバージョンには機能がありません(サンドボックス)。

0

移動したいものを計画する

  • ソース内のフォルダーのエイリアスを作成する
  • エイリアスをターゲットフォルダーに移動する

エイリアスを見つけるスクリプトを作成し、それらをオリジンに置き換えます(移動)

スクリプトを起動して、スリープ状態に入ります。


こんにちは、superuser.comへようこそ。投稿は、回答よりも議論のように読みます。これはディスカッションフォーラムではありませんので、質問に答えてみてください。ありがとうございました!回答を編集して、よりトピックに近いものにすることができます。
sleske

計画したくありません。ファイルをキューに入れて、考えずに1つずつ移動させたいだけです。すでにスクリプトを使用している場合、エイリアスの作成は不要です。また、スクリプトの作成方法を知っていれば、すでに作成していました。ファイルのキューイングをサポートするスクリプトの例はありますか?
ケブマン14年

ソースパスとターゲットパスを、パイプのように区切り文字で区切られた「queue.txt」テキストファイルに入れます。行/ foo / bar / source | / targetの例。次に、cat queue.txt | lを読みながら do src = "$(echo" $ l "| awk -F" | "'{print $ 1}')"; dst = "$(echo" $ l "| awk -F" | "'{print $ 2}')"; echo "$ srcから$ dstへのコピー"; cp -r "$ src" "$ dst"; できた。これは非常に粗雑な例です。そのようなスクリプトでギャンブルをすることはお勧めしません。落とし穴はたくさんあります。とにかくあなたはこれを読むことから始めて、しようとした場合:devblog.virtage.com/2013/01/...
Ramkam

0

同じ問題が発生し、App Storeで「CopyQueue」というアプリを見つけました。

https://itunes.apple.com/gb/app/copyqueue/id711074010?mt=12

うまくいくようです。コピーするフォルダまたはファイルをキューにドラッグするだけで、キューからコピーが開始されます。一時停止し、キューの優先順位を並べ替えることができます。お気に入りの機能の1つは、[確認]をクリックしてコピーが成功したことを確認することです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.