おそらく、非常に大量のファイルを転送するために純粋なコマンドラインメソッドを使用することを検討してください。GUIを使用するよりもプロセスが大幅に高速であることは間違いありません。
これを実現するにはさまざまな方法がありますが、私のシステムでは以下が迅速、安全、効率的に機能しました。
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
このコマンドの説明:
- 入力ディレクトリは「。」です この特定のコマンドでは、そのディレクトリにいる必要があります
- 出力ディレクトリは
<destination>
私の例です。明らかに、これを自分のニーズに合わせて変更し、括弧は省略します。
- この構文は、ボーナスとしてスペースを含むファイル名を許可します:)
無限の順列が可能ですが、これはGUI よりもうまく機能し、はるかに効率的です。たとえば、1つの順列:pdfファイルのみを移動する場合は、次を実行できます。
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
を使用するxargs
と、特にこのような多数のファイルの移動で多くの可能性が開きます。たくさんの可能性....
潜在的な問題:
これらの考えに対する以下のコメンターのおかげで、熟考するために少なくとも2つの潜在的な落とし穴があります:
- 宛先ディレクトリが破損している可能性があり、その後に到達できない場所にあるか、入力ミスなど
mv
により、ファイルがそこに移動します!ここで注意してください...
- もし
-t
オプション(--target-directory
)不足しているとコピー先のフォルダは、実際に使用すると、1つのファイルを移動し、残りの部分に失敗したファイルです。mv
2つの用途があります。ソースの名前を宛先に変更するか、ソースをディレクトリに移動します。再び注意してください...
cp -R SRC/ DEST/
)