学習関連(PA4d・VBA等)

batファイルとタスクスケジューラーでファイルを自動バックアップする方法

学習関連(PA4d・VBA等)
スポンサーリンク

実務で作成したExcelファイルの自動バックアップ方法についての説明です。

業務の中で予定等を記録している重要なExcelファイルがあり、現在はそのバックアップ等はとっておりませんでした。
万が一消えてしまったり、データが破損した場合に困る可能性があるので、バックアップを取っていこうと考えました。
手動でコピー&ペーストするのは非効率ですし、忘れる可能性もあるので以下の方法で自動でバックアップ(コピー&ペースト)する方法を考えました。

batファイルをタスクスケジューラーで自動で動かす

大まかな流れは以下の通りです。

  1. バックアップを取りたいファイルをコピーするbatファイルを作成する
  2. ファイルをコピーする際はファイル名に現在日時を自動入力させる
  3. batファイルをタスクスケジューラーで自動で起動させる

1つずつみていきます。

1.バックアップを取りたいファイルをコピーするbatファイルを作成する

batファイルの作成は最初にメモ帳等でコードを書き、保存時には拡張子を.batに変更します。
大切なのはその際文字コードを「ANSI」にしてください。ここが違うと文字化けを起こし上手く起動しないエラーになります。

batファイル内のコードは以下ようなコードです。
COPYを使いデスクトップ上にある元フォルダ内のテストExcelを同じくデスクトップ上にあるバックアップフォルダに入れる内容となっています。

COPY “%USERPROFILE%\Desktop\元ファイル\テスト.xlsx” “%USERPROFILE%\Desktop\バックアップ\”

コピーよりあとはどのファイルを(パスで指定)どこにを指定してあげれば大丈夫です。

2.ファイルをコピーする際はファイル名に現在日時を自動入力させる

以下コードでコピー後のファイル名に年月日時分秒を入力させます。

REM —————————————————————–
REM 年月日の取得
REM —————————————————————–
SET YMD=%DATE:/=%

REM ————————————————————————
REM 時分秒の取得
REM ————————————————————————
SET HMS=%TIME: =0%
SET HMS=%HMS:~0,2%%HMS:~3,2%%HMS:~6,2%

COPY “%USERPROFILE%\Desktop\原本\テスト.xlsx” “%USERPROFILE%\Desktop\バックアップ\テスト_%YMD%%HMS%.xlsx”

3.batファイルをタスクスケジューラーで自動起動させる

2のコードを書いたbatファイルを起動させることで、コピーをとるところまではできました。
あとはこれを自動で動かすためにタスクスケジューラーを使用します。

メニューからタスクスケジューラを起動させます。
操作の編集のところを以下のように先ほど作成したbatファイルを参照させれば完成です。
トリガーのところは自動でコピーを取りたい時間・間隔を入力しましょう。

 

タイトルとURLをコピーしました