データの転送中にファイルの競合を最後に処理します。(+自動的に名前を変更します)

データの転送中にファイルの競合を最後に処理します。(+自動的に名前を変更します)

一晩で携帯電話から PC に多くのファイルをコピーまたは移動したいとします。

就寝して翌朝起きると、「コピー中にエラーが発生しました……… – libmtp エラー: デバイスからファイルを取得できませんでした。」というメッセージが表示され、3% の時点でファイル転送が停止しました。つまり、小さな障害が 1 つあるだけで、ファイル コピーの進行全体 (残りの 97%) が遅れたことになります。

最初にすべてのファイルをコピーできればもっと良いでしょうコピーできる、そして最後にファイルの競合(既存のファイル名、ターゲットファイルシステムでサポートされていない文字、その他のエラー)を処理して、最初にすべての作業を完了し、それから障害を処理します。

ファイルコピー機に伝えることができれば良いのですがあらかじめ既存のファイルの名前を自動的に変更します。これにより、ファイル コピー ツールがこれらのファイルに遭遇するまで待機する必要がなくなり、自動的にファイル名を変更するように指示できるようになります。

答え1

Ubuntu のデフォルトのファイル マネージャーを使用していると仮定します。

  1. 携帯電話からPCに転送したいファイルを含むフォルダを右クリックし、ターミナルで開く
  2. 次の 2 つのコマンド (コピーまたは移動) のいずれかを実行し、<target>宛先パスに置き換えます。
cp -r --backup=numbered * <target>
mv -r --backup=numbered * <target>

.~1~ファイル名の競合がある場合、ターゲット ファイルをサフィックス付きで名前変更します。 で終わるファイルが.~1~存在する場合は、.~2~が使用されるなどです。

関連情報