PC・スマホ

Windowsのrobocopyコマンドを使ってパソコンのバックアップをしよう!

こんばんは。

nanana-blog管理人のナナナです。

ブログを訪問し記事を読んでいただきありがとうございます。

先日、仕事でファイルサーバの更新作業があり、旧サーバから新サーバへファイルを移行する必要がありました。

サーバ内のフォルダ数がかなり多く、手動で移動させるのは現実的ではなかったので

ファイル移行用のバッチファイルを作成して、データを自動化させることにしました。

本日はWindowsコマンドの一つである「robocopy」を紹介します。

robocopyとは何ができるコマンドなのか

指定した2つのフォルダの間でファイルやフォルダをコピーすることができるコマンドです。

似たようなコマンドにcopyコマンドというものがありますが、robocopyの方が細かくオプションを設定できる高機能なコマンドです。

コマンド「copy」と「robocopy」の違い

copyコマンドはファイルしかコピーをすることができませんが、robocopyはフォルダのコピーをすることができます。

他にもrobocopyは、サブフォルダ(フォルダの中にあるフォルダ)のコピーができたり、不要なファイルの削除をすることができます。

robocopyはオプションの数が多いので最初の頃は理解しにくいですが、慣れてくるとコピーする対象を細かく設定できるため、とても便利なコマンドです。

robocopyの書き方

robocopyの構文は以下になります。

robocopy コピー元 コピー先 [ファイル名] [オプション]

※ファイル名とオプションは任意項目のため、指定しなくてもコピーできます。

コピー元 : コピー元のフォルダパス(Cドライブのtempフォルダの場合は、C:\temp)

コピー先 : コピー先のフォルダパス(Dドライブのtempフォルダの場合は、D:\temp)

ファイル : 特定のファイルや拡張子をコピーしたい場合はここに書きます。

オプション : ログの出力方法やコピーするファイルの指定などができます。

よく使うオプションの説明

f:id:nanana-blog:20190731215454j:plain

私がrobocopyを使う時によく指定するオプションについて説明をします。

ここに書いてあるオプション以外にも指定できるオプションはたくさんありますが、その説明は別の記事で説明をしていきます。

/E

何も保存されていない空のフォルダを含むすべてのサブディレクトリをコピーします。

/R:n

ファイルコピーが失敗した時のリトライ回数を指定できます。

「n」の部分に回数を指定します。

何も指定しないと1,000,000回リトライをすることになります。

/W:n

リトライをするまでの待機時間を指定できます。

nの部分に待機する秒数を指定します。

何も指定しないと30秒待機します。

/LOG:ファイル名

コピーのログを「ファイル名」に指定したファイルに出力することができます。

/XO

コピー元とコピー先のファイルのタイムスタンプを比較して、コピー先のタイムスタンプが新しければコピーしません。

差分コピーをする時のrobocopyの書き方

日々バックアップなどをする時、新規作成したファイルや更新したファイルをコピーする時に便利です。

CドライブのtempフォルダをDドライブのtempフォルダコピーする時のサンプルです。

ログファイルはDドライブのtempフォルダに「Result.log」という名前で保存されます。

robocopy C:\temp D:\temp /e /copyall /xo /zb /r:1 /w:1 /NP /log:D:\temp\Result.log

ミラーリングバックアップする時のrobokcopyの書き方

全く同じ状態を別の場所に作成したい場合に便利です。

Cドライブのtempフォルダの内容をDドライブのtempフォルダに作成する時のサンプルです。

ログファイルはDドライブのtempフォルダに「Result.log」という名前で保存されます。

robocopy C:\temp D:\temp /mir /r:1 /w:1 /zb /NP /log:D:\temp\Result.log

最後に

いかがだったでしょうか。

robocopyを使えば仕事で使用しているパソコンのデータを簡単にバックアップすることができます。

この記事のサンプルを参考にバックアップをとってみてください。