基本的なバックアップ プランとして 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