読者です 読者をやめる 読者になる 読者になる

とりあえずプログラム完成

細かいテスト終わってないけどプログラム正常系完了。β版にも届かないレベルですが。


Windows7で動く「指定USBメモリに向かって同期バックアップをする」ものです。
たとえばデスクトップを指定して
デスクトップに新しくできたファイルがあればUSBメモリにコピーするし
デスクトップ上に更新されたファイルがあればUSBメモリに上書きコピーするし
デスクトップ上から削除されたファイルがあればUSBメモリ上から削除するものです。
フォルダ・サブフォルダも対象になります。


「指定のUSBメモリ」というのはUSBメモリ自体接続する環境によって論理ドライブ(CドライブとかEドライブとか)が変わるため、こちらの指定したUSBメモリがどの論理ドライブなっているかを判定した上でバックアップ先をトレースします。




以下は内部実装の関連について


上記の同期コピーはrsyncというLinux実装プログラムがあるのですがWindows版はなく
(動かせないこともないが、別途違うソフト(cygwin)のインストールが必要)
RealSyncという個人の作ったDLLを使う予定でいたのですが、Win7環境で動かないでやんの。
動作確認されてないんじゃなく、組み込んで動かない。
まあWindows2000の時代の頃のものですし・・・。


というわけでrsync相当の機能を.Net環境で再実装しました。多分.Net Framework2.0あれば動きます。Win7では標準で持ってる。


設計自体はひたすら再帰的にサブフォルダを追っていってファイルの存在判定やら日付判定して
コピーしたり削除したりしてます。
動かすのにいっぱいいっぱいなので最適化箇所は割と多いはず。


あとはともすればVBSで組み直しできなくもないとは思いますが、現状コード公開予定はないのと、そこまで手間割いても何もないので多分やらないと思います。


現状は基本機能ができただけで、エラー周りを全然整備してないので完成度自体は低いです。
せめて動作後のダイアログ表示とかログくらいは揃えないとなー。


とりあえず1ミッション完了です。