No.292
【Windows7】ディレクトリ間でファイルの同期を取る
Windowsにもrsyncコマンドが欲しい
ディレクトリ間のファイルの同期を取るコマンドで有名なのはUnixのrsync
コマンドがある。差分転送や不要ファイル削除などを行ってくれる高機能なツールだ。
Windowsにも同様のrobocopy
コマンドが用意されている。 (Windows7以降)
これもrsync
同様高機能。めちゃくちゃオプションがあるのでよく使うものだけメモしておく。
オプションとよく使うコマンド
よく使うコマンドは下記の書式。
「ファイルの削除も反映、ファイルのタイムスタンプも同期」となる。
robocopy コピー元ディレクトリ コピー先ディレクトリ /MIR /COPYALL
よく使うオプションは下記の通り。
オプション | 意味 |
---|---|
/MIR | 空のディレクトリも含めた再帰処理と、削除ファイルの反映も行う。いわゆるミラーリング。 |
/COPYALL | タイムスタンプや所有者情報まで含めて、ファイルの情報を全て保存する。 |
/L | robocopy をテスト実行する。画面出力は同じなので、挙動を確認したいときに便利。 |
ディレクトリのタイムスタンプなどを保存するためには/DCOPY
オプションがあるが、処理が重くなるうえにディレクトリのタイプスタンプはそれほど意味が無いと思うので使っていない。
参考
robocopy
のGUI版とも言えるツールが存在している。
RichCopy
というツールで、Microsoft社の技術者向けWebマガジン「TechNet Magazine」で公開されている。