バッチをクリックするだけでファイルやフォルダを自動バックアップする
パソコンを使用しているとファイルやフォルダをバックアップする作業があります。そんな時にファイルをクリックするだけでファイルやフォルダを自動でバックアップしてくれるバッチファイルをご紹介します。動作環境としてはWindows7で確認しましたがそれ以外のバージョンでも動作すると思います。
バッチファイルとは?
Windowsのコマンドプロンプトで実行するテキストファイルの事です。そのテキストファイルには簡単なプログラムを書きます。これをバッチファイルと言います。
コマンドプロンプトは「Windowsメニュー」「アクセサリ」「コマンドプロンプト」から実行できます。ショートカットキーですと「Windowsキー+R」で表示される「名前を指定して実行」で「cmd」と入力すれば実行可能です。
今回はバッチファイルですのでそのファイルをクリックするだけでコマンドプロンプトが自動起動して処理を実行してくれます。
バッチファイルの作成(*.bat)
下記のバッチファイルはファイルやフォルダを自動バックアップするサンプルです。このサンプルを元にご自分の環境の置き換えて使ってくださいね。
※ファイル名のサンプルとしては「test.bat」などとします。
setlocal rem /* 今日の日付を取得(yyyymmdd) */ set now=%date:~-10,4%%date:~-5,2%%date:~-2,2% rem /* C:\プチモンテ.txtをD:\バックアップ\プチモンテ.txtへコピー */ copy /Y C:\プチモンテ.txt D:\バックアップ\プチモンテ.txt rem /* C:\ホームページをD:\バックアップ\ホームページ_日付へコピー */ xcopy /Y /E C:\ホームページ D:\バックアップ\ホームページ_%now%\ rem /* 一時停止 */ pause endlocal
1,13行目:setlocal,endlocalは環境変数のローカル化の為のものです。おまじないと思ってください。
2,5,8,11行目:remはコメント(説明文)です。この行は実行されず画面に表示されるだけです。
3行目:現在の日付を取得してnowに設定します。yyyymmdd形式。これは現在日が2015年1月1日の場合は「20150101」と設定されます。
6行目:「C:¥」にあるプチモンテ.txtのファイルを「D:¥バックアップ¥」へコピーしています。「copy /Y」の「/Y」は上書き確認をせずにコピーするという設定です。
9行目:「C:¥ホームページ」のフォルダをサブフォルダも含めて「D:¥バックアップ¥ホームページ_現在の日付」へコピーしています。「xcopy /Y /E」の「/Y」は上書き確認をせずにコピーする。「/E」は空の場合でもすべてのサブディレクトリをコピーするという設定です。
12行目:pauseで一時停止して入力待ちにします。コマンドプロンプト画面でエンターキーなどを入力すれば終了します。(これはバックアップ中にエラーなどが出た際のログ確認用としています。なくてもかまいません)
指定した時間にバックアップを実行する
今回はバッチファイルをクリックで実行していますが、Windowsのタスクスケジューラで実行時間と作成したバッチファイルを設定すると指定した時間にバックアップが実行されます。