【コマンドプロンプト】xcopyでファイルをバックアップ

※この記事は「2021年4月24日」に更新しました。

今回は、xcopy を使って、ファイルをバックアップする方法を紹介します。

コマンドプロンプトには、copy というコマンドもありますが、それよりも高度なものです。

xcopy でファイルをバックアップ

バックアップ

xcopy でファイルをバックアップします。

まずは、コマンドの説明です。



xcopy とは

xcopy とは、サブディレクトリまで含めて、ファイルをコピーすることができるコマンドです。

xcopy コピー元 コピー先 [オプション]

ちなみにオプションには以下のようなものがあります。

/c
エラーを無視してコピーする。
/e
空であっても、サブディレクトリをコピーする。
/s
空でなければ、サブディレクトリもコピーする。
/h
隠しファイルもコピーする。
/r
読み取り専用ファイルもコピーする。
/d
コピー先に既存ファイルがある場合は日付が新しいときだけ上書きする。
/y
コピー先に既存ファイルがある場合でも確認メッセージなしで上書きコピーする。
/exclude:ファイル名1 [+ファイル名2] …
コピーから除外するファイルを指定する。

コマンドプロンプトから実行する

xcopy をコマンドプロンプトで実行すると、ファイルをバックアップすることができます。

例えば、コピー元、コピー先が以下だとします。

コピー元:C:\Users\Owner\Documents\ブログ
コピー先:H:\バックアップ

この場合、以下のコマンドでバックアップすることができます。

xcopy C:\Users\Owner\Documents\ブログ H:\バックアップ /e /h /c /y /r /d >> H:\ログ\log.txt

オプションは、お好みで変更すれば良いかと思います。

最後のリダイレクトは、コピー結果をテキストとして残すために記述しています。

バッチファイルを作成すれば、簡単に実行可能

先程のコマンドをバッチファイルとして作成しておけば、簡単に実行可能です。

デスクトップにショートカットでも貼り付けておけば手動ですが、すぐに実行可能です。

ちなみに、日付と時間を書き込むような処理を xcopy 実行前に記述すれば、いつ実行したものかログを見たときにわかるようになります。

echo %date% >> H:\ログ\log.txt
echo %time% >> H:\ログ\log.txt

タスクスケジューラを使えば、自動化可能

バッチファイルを作成すれば、タスクスケジューラで自動化することができます。

タスクスケジューラは、Windows に標準搭載されているアプリケーションです。

決まった時間や一定間隔でプログラムやスクリプトを実行することができる管理ツールです。

使い方は下記記事をご参照下さい。

タスクスケジューラの使い方

タスクスケジューラの使い方【バッチファイル】

2020年5月17日

最後に

いかがでしょうか。

今回は、コマンドプロンプトで xcopy を使って、ファイルをバックアップする方法を紹介しました。

ちなみに、もっと本格的なものを作成したいという方は、robocopy というコマンドもあります。

簡単にミラーリングできますが、少し複雑な動きをするので注意しましょう。