Robocopy が常に 1 つのファイルをコピーし、他のファイルをコピーしないのはなぜですか?

Robocopy が常に 1 つのファイルをコピーし、他のファイルをコピーしないのはなぜですか?

基本的なバックアップ プランとして Robocopy を学習しようとしており、bat ファイルでこれを試しました。

@echo off
echo "Hello World!"
robocopy C:\Testfolder Z:\Testfolder
pause

ここで、Z: はネットワークドライブ(ルーターの USB ポートに接続された USB 外付けドライブ)です。

C:\Testfolder には 02.jpg と 02-03.jpg の 2 つのファイルしかありません。

これを初めて実行したとき、Z: に Testfolder が作成され、両方のイメージがコピーされました。

何が起こるか気になって、もう一度実行してみました。今度は、画面上のメッセージに、02.jpg はコピーされましたが、02-03.jpg はスキップされたと表示されました。もう一度実行しても同じ結果でした。

なぜそうなるのでしょうか?

答え1

デフォルトでは、robocopy は前回実行してから変更されたと思われるファイルのみをコピーします。コピー終了時のステータスを確認することでこれを確認できます。スキップされたファイルは 1 と表示されます。/vより詳細な情報を取得するには、オプションを含める必要がある場合があります。

ルーターに接続されたネットワーク ベースのドライブにコピーしているため、ファイル時刻のバグが発生し、robocopy が宛先ファイルの 1 つで異なる日付と時刻を認識する可能性があります。ファイル属性の問題は、ルーターで使用されている可能性が高い Linux ベースの samba 共有では一般的です。変更されていないファイルが 1 つ再コピーされ続けるのは、このためと考えられます。パラメータを試して、/timfixファイルの時刻が修正され、変更されていないファイルの再コピーが停止されるかどうかを確認してください。

robocopy で同じで変更されていないファイルをコピーする場合は、/isオプションを追加します。

詳細はこちら:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

関連情報