Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

robocopyでフォルダをバックアップ/同期させる

解説をスキップして操作方法を読む

デジタルアドバンテージ
打越 浩幸、島田 広道
2007/04/20
2011/06/24更新 
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
ファイルのバックアップでは、2つのフォルダの内容を同期させるコマンドを利用するとよい。
robocopyはフォルダの同期機能を始め、さまざまなオプションを指定してのコピーができる。
2つのフォルダの内容を完全に同期させるには、/mirオプションを利用する。
解説

 2つのフォルダの内容を同期させ、ファイルやフォルダの内容を同じ状態に保つ機能は、ファイル・サーバのバックアップや個人的なデータのバックアップ、リモート・オフィス同士でのデータの同期など、システム管理のさまざまな場面で利用される。本TIPSでも、「xcopyでファイルをバックアップする」「SyncToyツールで手軽にバックアップを行う」といった手法を紹介してきた。

 フォルダの同期に利用できるツールとしては、以上のほかにもrobocopy.exeというコマンドライン・ツールがある。これはもともとはWindows OSのリソースキット・ツールの1つとして提供されていたものであるが、Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2ではOS標準コマンドとして用意されている。Windows 2000/Windows XP/Windows Server 2003の場合はリソースキットを入手してインストールすることで利用できるようになる。入手方法についてはTIPS「Windows OS向けリソースキット・ツールを入手する」を参照のこと(ただしWindows 2000用リソースキット・ツールの無償ダウンロードは廃止された)。

 robocopyは、もともとはリモートのファイル・サーバ同士でフォルダを同期させるために作られたコマンドである(ユーザー・プロファイルなどを複製するために作られた)。robocopyはRobust File Copyの略であり、堅牢(robust)で確実なファイル・コピーという意味を持つ。具体的な機能の例を以下に記す。

  • エラー時の再試行
  • ネットワーク切断時のコピーの中断と再開
  • 属性やセキュリティ設定のコピー
  • ファイル・サイズを限定してのコピー
  • コピー先にある余分なファイルの削除
  • 256文字を超える長いパス名の処理
  • 動作ログの記録
  • コピーの進行状態の常時表示
  • ジョブによる同期作業内容の定義
  • コピー時の占有帯域制御

 このようにrobocopyはたくさんの機能を備えているが、本TIPSでは一番基本的な使い方として、2つのフォルダを同期させる機能について解説する。これ以外の機能については今後解説する。

 コマンドラインではなくGUIからフォルダをバックアップしたり同期したりしたい場合は、richcopyが利用できる。詳細はTIPS「RichCopyでフォルダをバックアップ/同期させる」を参照していただきたい。

操作方法

robocopyの基本的な使い方

 robocopyは、copyやxcopyコマンドのように、引数としてコピー元とコピー先、オプションなどを指定する。コピー元もコピー先もフォルダであり(ファイル名やワイルドカードは指定不可)、指定されたフォルダ間で、その中にあるファイルがコピーされる。ただしデフォルトでは、コピー先に存在しないファイルか、更新日付が異なるファイル(新しいファイルだけではなく、コピー元の方が古くてもコピー対象となる)、日付は同じでもサイズが異なるファイルだけが上書きでコピーされる。

robocopy c:\src d:\dest   ……2つのフォルダ間での全ファイルのコピー

 デフォルトでは「*.*」、つまりすべてのファイルがコピーの対象となる。オプションとしてファイルのパターンを指定すると、そのパターンに合うファイルのみがコピーの対象となる。例えばJPEGファイルだけをコピーするには、

robocopy c:\src d:\dest *.jpg *.jpeg   ……2つのフォルダ間でのJPEGファイルのコピー

のようにする(パターンは複数指定可能)。

 こうしたrobocopyの使い方やオプションは、コマンド・プロンプトでrobocopy /?を実行すると表示される(Windows 2000リソースキット版の場合はrobocopy /???)。

C:\>robocopy /?  …Windows 7での例

--------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー
--------------------------------------------------------------------

開始: Wed Jun 22 17:06:03 2011

   使用法:: ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...]
            [オプション]

コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー
            \共有\パス)。
コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー
            \共有\パス)。
ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」
            です)

::
:: コピー オプション:
::
      /S :: サブディレクトリをコピーしますが、空のディレクトリはコピ
            ーしません。
      /E :: 空のディレクトリを含むサブディレクトリをコピーします。
  /LEV:n :: コピー元ディレクトリ ツリーの上位 n レベルのみをコピーし
            ます。
…(以下省略)…

 またリソースキット版の場合は、robocopy.exeがインストールされている場所にrobocopy.docというドキュメント・ファイルが用意されているので、参考にしていただきたい。

 robocopyのオプションは、Windows VistaやWindows 7に同梱のバージョンでいくつか新しいものが追加された。ただし、これらの新オプションのないWindows 2000/Windows XP/Windows Server 2003でも、この後に説明するフォルダの同期は可能だ。

分類 オプション名 内容
Windows Vista/Windows Server 2008で追加されたオプション
コピー /EFSRAW 暗号化済みの全ファイルをEFS RAWモードでコピーする
/DCOPY:T フォルダのタイム・スタンプをコピーする
/SECFIX スキップしたものも含む全ファイルのファイル・セキュリティを修正する
/TIMFIX スキップしたものも含む全ファイルのファイル時刻を修正する
/SL 対象ファイル/フォルダではなくシンボリック・リンクをコピーする
ファイル選択 /DST 夏時間における1時間の差を補正する
/XJD フォルダのジャンクション・ポイントを除外する
/XJF ファイルのジャンクション・ポイントを除外する
ログ /BYTES サイズの情報をbyte単位に表して出力する
/UNILOG:ファイル ログ・ファイルにUNICODEで状態を出力する(既存のログを上書き)
/UNILOG+:ファイル ログ・ファイルにUNICODEで状態を出力する(既存のログに追加)
/UNICODE 状態をUNICODEで出力する
Windows 7/Windows Server 2008 R2で追加されたオプション
コピー /MT[:n] n個のスレッドのマルチスレッド・コピーを実行する。デフォルトは8スレッドで、nには1〜128の値を指定可能。/IPGオプションや/EFSRAWオプションとの互換性はない
Windows VistaやWindows 7で追加されたrobocopyの追加オプション

フォルダの同期

 2つのフォルダを同期させるには、/mir(ミラー)オプションを指定する。コピー元やコピー先には、ローカルのフォルダだけでなく(例:c:\test)、UNCによるリモートのサーバ上の共有フォルダも指定できる(例:\\server1\drivec\test2)。

 /mirオプションを付けると、2つのフォルダの内容が比較され、コピー元のフォルダの内容のミラーがコピー先に作成される。コピー先に不足するものがあれば新しくコピーされるし(古ければ上書きされる)、コピー先に余分なファイルがあれば相手側のフォルダから削除される。単なるバックアップで利用するなら、これでも十分だろう。余分なファイルを削除させたくなければ、/mirではなく、/s(サブフォルダのコピー)を指定する(余分なファイルを削除する/purgeと/sを組み合わせたものが/mirオプションになっている)。

 次の実行例では、User01というアカウントのデスクトップにあるフォルダを、Server1とServer2の間で同期している。

C:\>robocopy "\\Server1\C\Users\User01\Desktop\新しいフォルダー" "\\Server2\C\Users\user01\Desktop\新しいフォルダー" /mir

--------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー
--------------------------------------------------------------------

開始: Wed Jun 22 20:47:15 2011…処理日付

 コピー元 : \\Server1\C\Users\User01\Desktop\新しいフォルダー\
   コピー先 : \\Server2\C\Users\user01\Desktop\新しいフォルダー\
         ↑↑…同期するフォルダ
  ファイル: *.*
         ↑↑…同期するファイル。*.*は全ファイル
オプション: *.* /S /E /COPY:DAT /PURGE /MIR /R:1000000 /W:30
         ↑↑…オプション。リトライ回数や待ち時間など
--------------------------------------------------------------------

             11 \\Server1\C\Users\User01\Desktop\新しいフォルダー\
     *EXTRA File    4.7 m      wmplog00.sqm …余分なあて先ファイル
     *EXTRA File    4.3 m      wmplog01.sqm
     *EXTRA File    3.4 m      wmplog02.sqm
 …(省略)…
 …以下処理結果
                合計     コピー済み      スキップ       不一致        失敗    Extras
 ディレクトリ:        41        40         1         0         0         0
   ファイル:       234       234         0         0         0         0
    バイト:  123.26 m  123.26 m         0         0         0         0
     時刻:   0:00:36   0:00:33                       0:00:00   0:00:03


速度:             3897149 バイト/秒
速度:             222.996 MB/分

終了: Wed Jun 22 20:47:51 2011

C:\>

 以上のように、デフォルトではコピーしているファイルや転送量など、詳細なログが表示されるが、ファイルなどに残すこともできるので、タスク・スケジューラに登録して自動実行する場合にも便利である。End of Article

関連記事(Windows Server Insider)
Windows TIPS:SyncToyツールで手軽にバックアップを行う
Windows TIPS:Windows OS向けリソースキット・ツールを入手する

この記事と関連性の高い別のWindows TIPS
RichCopyでフォルダをバックアップ/同期させる
xcopyでファイルをバックアップする
リモート・デスクトップでリモート・コンピュータとファイルをコピー&ペーストする
これだけは覚えておきたい、コマンド・プロンプトの使い方
volrestコマンドでシャドウ・コピーから以前のバージョンのファイルを取り出す
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴
【2011/06/24】robocopyの基本的な使い方を追記しました。またWindows 7/Windows Server 2008 R2に同梱のrobocopyコマンドをベースに加筆修正をしました。

「Windows TIPS」
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
  • 第285話 LED電球 (2011/9/20)
     ホームセンターにいくたびに逡巡してきたが、ついにLED電球を買ってやったぞ! ふふふ、これで消費電力は10分の1だな
  • 仮想ディスクの「ディスク・サイズ」を縮小する (2011/9/16)
     Windows 7の標準機能では仮想ディスク(VHD)のディスク・サイズは縮小できない。しかし無償のVHD操作ツールを併用すれば可能になる。その方法は?
  • XP環境を丸ごと仮想化してWin7へ移行する(後) (2011/9/15)
     仮想化したXP環境が起動できない場合の対策とは? 移行先の仮想マシンの起動から、実運用のための環境整備まで解説する
  • 第284話 ニッポンのワープロ (2011/9/13)
     事務所の中央に鎮座する共用ワープロマシン。ワープロ業務は全員でこれを利用。米国人が見た日本のワープロ事情

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

@IT Sepcial
ソリューションFLASH