ファイルのバックアップを自動で保存する Windows アプリケーション TypeB を公開してみる

ファイルが保存される度に
バックアップを保存する
アプリケーション TypeB を開発したため
皆さんの役に立てればと思い
ソースと本体を公開したいと思います。

[本体はこちら(BOOTH)](https://giftedstyle.booth.pm/items/6206673)
[本体はこちら(Google Drive)](https://drive.google.com/file/d/171b2fIC1BN6lMvX0UkLBiGFkFRFhUPN_/view?usp=sharing)

![d77ade20-301c-4680-89ee-337649c75246_base_resized.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3752886/b8bbb584-a728-06bc-3fde-1b10fea49431.jpeg)


＜利用規約＞
・自作発言のみ禁止とさせて下さい。
　禁止内容には我々に対し著作権を主張する事を含みます。
・再配布・販売 OK です。
・加工後の再配布・販売も OK です。
・再配布・販売の際に
　独自のライセンスを付与する事も許可します。
　ただし自作発言禁止のルールに関してのみ
　反しないようにお願いします。
・自作発言をしないならば
　アプリケーション名を変えて
　再配布・販売をして頂いてもかまいません。

＜免責事項＞
当アプリケーションのダウンロード、およびご利用に伴い発生した事象については責任を負いかねます。ご利用は自己責任でお願いします。

＜クレジット表記について＞
特に必要ありません。気軽にお使いください。

***

Word Excel マクロ html WordPress 開発など
容量の少ないファイルのみのバックアップを取る場合は
[ファイルが更新される度に自動でバックアップを保存する Windows アプリケーション](https://qiita.com/uni928/items/ab9a03a666477f502658)
の方をご利用ください。
そちらは 3 作業日以上前のデータは
その日の最終更新データ以外は
削除する機能が盛り込まれております。

イラストレーター開発など
容量の大きいファイルのみのバックアップを取る場合は
[ファイルのバックアップを自動で保存する Windows アプリケーションを公開してみる](https://qiita.com/uni928/items/b8e18a8ee3a1b428c64c)
の方をご利用下さい。
保存間隔と保存個数を指定する事ができるため
自由にチューニングできます。

容量の大きいファイルと少ないファイルを
同時にバックアップを取る場合は
このアプリケーションを推奨します。
上記 2 個の良い所取りをしたアプリケーションになります。

デスクトップフォルダの
バックアップを取りたい場合は
[操作不要・完全自動でデスクトップフォルダのバックアップを取る Windows アプリケーションを公開してみる。](https://qiita.com/uni928/items/03e8afcb12557cc54b07)
をご利用ください。
思考停止でデスクトップフォルダの
バックアップを取ることができます。

状況に応じて
使用するアプリケーションを決めて下さい。

あくまでもファイルが保存されている場合に
バックアップを定期的に実行するだけなので
ファイルを保存する機能自体はありません。
Ctrl + S など保存自体は
手動で行う必要があります。

***

ファイルのバックアップを自動で保存する
Windows アプリケーションです。

条件は下記の通りです。
0B～1MB のファイル：5 秒に 1 回 300 個まで保存します。
1MB～5MB のファイル：10 秒に 1 回 200 個まで保存します。
5MB～10MB のファイル：60 秒に 1 回 100 個まで保存します。
10MB～30MB のファイル：300 秒に 1 回 30 個まで保存します。
30MB～50MB のファイル：900 秒に 1 回 20 個まで保存します。
それ以上のファイル：1800 秒に 1 回 10 個まで保存します。

いずれもファイルが更新されていない場合は
指定秒数を経過してもバックアップを取りません。

指定された個数を超えた場合は
新しいバックアップを保存する際に
一番古いデータが削除されます。

例えば 20MB のファイルの
バックアップファイルが 30 個の状態で
新しくバックアップを取る場合は
一番古いバックアップファイルが削除されます。

***

操作手順

「ここに自動でバックアップを取りたいファイル orフォルダを
　ドラッグ＆ドロップして下さい。」
と書かれた文字の上あたりに
フォルダ or ファイルをドラッグ＆ドロップする事で
そのフォルダ or ファイルを監視できます。

監視しているファイル・フォルダのみ
自動でバックアップを保存します。

ドラッグ＆ドロップの具体的な手順は以下の通りです。

1. エクスプローラーで監視したいフォルダ or ファイルを選択します。
2. 選択した場所にポインタを合わせて、マウスの左を押しながら、
　「ここに自動でバックアップを取りたいファイル orフォルダを
　　ドラッグ＆ドロップして下さい。」
　の文字の上までドラッグします。
3. マウスの左を離します。 するとそのフォルダ or ファイルが
　監視されます。

監視を終了したい場合は
パスを選択して
「選択中の要素の監視を終了」
を押して下さい。

***

このアプリケーションの概要

ファイル or フォルダを監視して
その中のファイルの更新があった場合に
自動でバックアップを取ります。

例えば Folder フォルダの中に
index.php があったとすると
Folder フォルダを監視しておけば
index.php が更新された時に
自動でバックアップファイルが生成されます。

バックアップファイルの書式は
更新日_ファイル名.zip です。
例えば 20240401-123021_index.php.zip のような
ファイル名になります。

Folder フォルダを監視している場合は
Folder フォルダと同じ場所に
Folder_BackUP フォルダが生成されて
その中にバックアップが生成されます。

監視しているフォルダの中に
フォルダがあるならば
そのフォルダも監視対象です。
つまり子要素孫要素が対象になります。

プログラミング等で使用する場合は
基本的にフォルダを監視する事を推奨します。

仮に実行時にエラーが出たとしても
監視対象のフォルダ内のデータが
書き換えられることは決してありません。
安心してご利用下さい。

PC 起動時のスタートアップアプリケーションに
登録する事で監視を自動化できます。

***

プロジェクトファイルの配布

プロジェクトファイルは
下記の URL からダウンロードして下さい。
Visual Studio で開くことができます。
[https://drive.google.com/file/d/1XGWk5qHfOzoWV52u4yYK-i9_lwb0iUv8/view?usp=sharing](https://drive.google.com/file/d/1XGWk5qHfOzoWV52u4yYK-i9_lwb0iUv8/view?usp=sharing)

***

以上ファイルの自動バックアップの
Windows アプリケーションを公開しました。

このアプリケーションを使えば
午前中のデータを拾いたいといった場合に
拾うことができるかもしれません。

このアプリケーションが
皆さんの役に立てたならば嬉しいです。

皆さんの開発の助けになれますように。
閲覧ありがとうございました。