Robocopyでフォルダを同期する方法
Rich Copyの目的がRobocopyをコマンドで使うのが難しいから簡単にGUIでということらしいので、その難しいRobocopyの同期するオプションについて書いてみる。
Robocopyの同期の利点は、普通のコピーと違い差分だけコピーや削除を行ってくれるところ
インストール (Windows 7ではあらかじめインストールされています。)
Windows Server 2003 Resource Kit Toolsからダウンロード
適当にインストールして、C:\ProgramFiles\Windows Resorce Kits\Toolsからrobocopy.exeをパスの通ったC:\windows\system32\などに移動
コマンド
@echo off
robocopy "コピー元" "コピー先" /mir /xd "除外したいフォルダ" "除外したいフォルダ" /xa:sh
pause
上記のコマンドは色分けされているところがオプションとして1つのセットになります。
- 赤いところは、コピー元とコピー先の指定
- /mirは同期することを指定
- 青いところは除外したいフォルダを指定 複数選択可能
- 緑のところは、同期から除外するファイル属性を指定
- 今回指定している、sはシステムファイル、hは隠しファイルを除外するという意味です。
- その他詳細を設定したい場合は、コマンドプロンプトから robocopy /?でヘルプを読むことができます。
- が、Windows7以外では英語なので日本語版を載せておきます。2009年05月17日 Robocopyのヘルプ
このコマンドをテキストに貼り付けて、拡張子を.txtから.batに変更すると完成。
毎日定期実行するには
Windows XPの場合
- スタート -> プログラム -> アクセサリ -> タスク -> スケジュールされたタスクの追加 を実行
- 実行するプログラムを参照し、先ほど作成したbatを選択
- 実行間隔を好きに設定 バックアップなら日単位でもOK
- あとは開始時刻と毎日実行するか、開始日を指定して次へ
- ログインしているユーザー名とパスワードを入力して次へ
- 完了
Windows 7の場合
- スタート -> プログラム -> アクセサリ -> システムツール -> タスクスケジューラ を実行
- タスクの作成 -> 操作タブ -> 新規 -> プログラム/スクリプトを参照し、作成したbatを選択 ->OK
- トリガータブ -> 毎日をクリック -> 開始時刻を指定 -> 繰り返し間隔のチェックを外す -> 有効期限のチェックを外す -> OK
以上で毎日決まった時間にバックアップができます。