- コピー先に存在しないファイル
- 名前が同じでも、更新日付が異なるファイル(新しいファイルだけではなく、コピー元の方が古くてもコピー対象となる)
- 名前と日付が同じでも、サイズが異なるファイル
つまり更新されていないファイルはコピー対象になりません。
ところがPC⇒NASなど別のファイルシステム間でコピーすル場合に、更新していないはずのファイルが上書きコピーされる現象が発生することがあります。
中身は変わらないため内容に問題はありませんが、更新不要なファイルまでコピーされると処理時間が大幅に伸びるため無駄に時間が掛かることに。
更新されていないはずのファイルがコピー対象になる」原因
この「更新されていないはずのファイルがコピー対象になる」原因は、FATファイルシステムの更新時刻精度にあります。FATファイルシステムでは2秒の精度でしかファイルの作成時刻や更新時刻を記録できません。
※例えば”2020/7/12 10:00:00” と”2020/7/12 10:00:02”は同じ時刻とみなされる可能性がある、ということ。
そのためFATファイルシステムと他のファイル間でファイルをコピーすると更新時刻が最大2秒ずれることがあります。
例えば”2020/7/12 10:00:00” のファイルをコピーすると、コピー先ファイルのタイムスタンプが”2020/7/12 10:00:01”になる可能性があります。
コピー元のファイルは”2020/7/12 10:00:00”のままであるためコピー先ファイルと同じ内容・同じファイル名であるにも関わらず更新時刻が異なる状態に。
すると次にコピーする際にコピー対象とみなされ、更新されていなくても再びコピーが走ります。
コピーされないようにオプションが用意されている
更新時刻のずれが発生することを考慮し、Robocopyには2秒以内の誤差を無視するオプションが用意されています。
オプション「/fft」:2秒以内の誤差なら、時刻情報は一致していると見なされます
fftオプションを付ければFATファイルシステムと他のファイル間でコピーして更新時刻がずれたファイルでも、再度コピーされることはありません。
コマンド例はこちらです。
robocopy /copy:DT \\コピー元フォルダ \\コピー先フォルダ /s /e /FFT /W:3
コメント