いざというときに役にたつのがバックアップ。大切なファイルを間違って削除してしまった、上書きしてしまった。こんなときにバックアップをしていると最悪の事態を回避することができます。

でもこのバックアップ、地味に面倒くさい作業でもあります。そこでクリック一発でバックアップができるアプリを作成してみました。

事前にバックアップしたいフォルダとバックアップ先を登録しておきます。あとはクリックするだけでバックアップしてくれます。

バックアップしたいフォルダとバックアップ先の登録はTextBoxに入力するのですが、簡単にできるように以下のようなクラスをつくってみました。

手作業で入力するのは面倒なので、ファイルやフォルダをドラッグ&ドロップすればパスが入力されます。またファイルやフォルダをコピーしてペーストしてもパスを入力することができます。

バックアップするフォルダとバックアップ先が決まれば、あとはファイルを圧縮して保存するだけです。

Zipファイルの作成はこのページを参考にしました。

Zipファイルを解凍・圧縮する PG日誌

やることはSystem.IO.Compression.FileSystem.dllを参照に追加。

あとは

これでOK♪

さてバックアップといってもいらないファイルもあるはずです。そのようなものは除外したいものです。Zipファイルが無意味に大きくなるだけですから。

そこでどうするか?

System.IO.Compression.FileSystemにくわえてSystem.IO.Compressionも参照に追加します。

まずフォルダのなかのファイルパスのみ取得します。

そして・・・

これで必要なファイルだけバックアップすることができます。

設定を保存できるようにする

毎回、ファイルパスを入力するのは面倒なので、登録したフォルダパスは保存できるようにしましょう。

まずアプリの外観はこんな感じ。

[登録]をクリックするとこのようなダイアログが表示されます。

登録ボタンをおしたらフィールド変数Datasにデータを格納するとともにファイルとして保存してしまいましょう。そのために作成したのがSavaConfigFileです。実行ファイルがあるフォルダ内にファイルをつくります。

アプリケーションが実行されたらファイルを読み取ります。

使わない項目は削除できるようにしてしまいましょう。

リストビューのアイテムがクリックされたら選択された部分の設定情報を表示させます。

リストビューの項目にチェックをいれて実行ボタンがおされたらバックアップを開始します。指定された拡張子のファイルはバックアップの対象外となります。

バックアップをするときのファイル名はわかりやすくするためにフォルダ名とバックアップ時刻をいれるようにしています。