Monthly Archives: 12月 2014

ROBOCOPYでフォルダの同期を取る(その2)

前回はROBOCOPYでフォルダの同期を取る方法を書きました。まずは、これで同期は取れるようになります。でも、このまま使うと困ることがあります。コピーができないときはリトライ処理をするんです。例えばコピー元ファイルが壊れているときとか。その時のリトライ処理を設定するオプションがあります。

/r:<N>   コピーが失敗した時のリトライ(再試行)回数を指定します。 このNの規定値は100万です。

/w:<N>   コピー失敗後の次のコピーまでの時間を指定します。単位は秒で、Nの規定値は30秒です。

おい!!100万回ってなんだと(^_^;)。つまり標準のまま使うとコピー失敗に諦めるまで100万回、時間の間隔が30秒なので100万× 30秒=347日間。ほとんど無期限です。(でもそうだったかなぁ・・・もっと調べてみますが。)

ということで、ここの値は設定しておきましょう。まあ、コピーができないなんて事態があっただけで致命的ですので、リトライは1回、待機時間は10秒でもいいかと思っています。ということで

robocopy D:\Data M:\Data /MIR /r:1 /w:10

という感じでもいいでしょうね。でも、いちいち設定するのは面倒です。 /reg オプションを使えば、/rと/wの設定値は規定値としてレジストリに保存されます。後は・・・コピーしたくないファイルやフォルダの指定ですね。また次回。

ROBOCOPYでフォルダの同期を取る(その1)

Windowsの便利なコマンドにROBOCOPYというコマンドがあります。これはロボットがコピーしてくれるのではなく、Robust File Copyの略で堅牢性の高いコピーをしてくれるというものです。
で、詳しくは後ほど書きますが、下記のようにすると二つのフォルダ間で同期を取ってくれます。コピー元のファイルが削除されたらコピー先のファイルも削除されるという例です。

ROBOCOPY [コピー元] [コピー先] /MIR

具体的にはこんな感じですね。
robocopy D:\Data M:\Data /MIR

このままでもコピーが取れるのですが、エラー発生時の待ち時間とかリトライ回数とかコピーの除外ファイルの指定とかオプションを組み合わせていきます。
これについてはまた次回。