プログラム悪戦苦闘日記

はてなダイアリーからの移行(遺物)

Windowsでバックアップをとりたい

 環境:Windows XP。mswin版のRuby 1.8.2がインストールしてある
 やりたいこと:ローカルドライブ(Dドライブ)にある、あるフォルダ以下をネットワーク上にあるコンピューターのあるフォルダにコピーする。そのとき、そのネットワーク上のコンピュータのフォルダをアーカイブにしてzip圧縮しておく。つまり、

D:\Hoge\         ← バックアップもとのフォルダ
D:\Hoge\aaa\     ← バックアップ対象
D:\Hoge\bbb.xls ← バックアップ対象

\\Foo\Piyo\        ← バックアップ先のフォルダ
\\Foo\Piyo\aaa\    ← 前回バックアップしたフォルダ
\\Foo\Piyo\bbb.xls ← 前回バックアップしたファイル
\\Foo\Piyo\backup_20050830.zip ← 前々回バックアップしたファイル/フォルダ

これを
\\Foo\Piyo\ 以下を圧縮して(zipは除く)backup_20050831.zip としてこのフォルダに保存。
zipにしたファイル/フォルダは削除
D:\Hoge\ 配下を \\Foo\Piyo\ にコピー

である。これをWindowsのコマンド(DOSコマンド、か?)とmswin版Rubyでどうやるか。
 これ、一見簡単に見えるが、ハマり要素がたくさんある。つーか結論を先にいってしまうと『不可能』である。UNIXでは簡単なのだが…。本当に嫌になりましたorz。