━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第33号(2003.11.22) ファイル同期ツール 5899部配信 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■ はじめに ● ウイルス「W32/Mimail.i@MM」に注意 ■ ファイル同期ツール ● 更新されたファイルのコピー ■ バックアップツール ● 単純コピー ● 3世代管理(Windows95,98,Me) ● 3世代管理(Windows2000,XP) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ 皆さん、こんにちは。速星です。 今回は、ファイルの同期やバックアップにに利用できるバッチファイルを紹介し ます。これまでに学んだコマンドが色々と出てきますので、必要に応じて、バッ クナンバーやコマンドリファレンスなども参照しながら読んで下さい。 ------------------------------------------------------------------------ ● ウイルス「W32/Mimail.i@MM」に注意 11月14日に発生したウイルス「W32/Mimail.i@MM」(ミメイル・アイ)が感 染を拡大しつつあります。ご注意下さい。 http://sec.sourcenext.info/virus/details/mimail_i.html このウイルスは10月31日に発生したウイルス「W32/Mimail.c@MM」(ミメイ ル・シー)の変種で、メールを経由して増殖するウイルスです。 送信されるメールは、「paypal.asp.scr」あるいは「www.paypal.com.scr」とい う添付ファイルを含んだものになります。 添付ファイル内の実行ファイルを開くとウイルスに感染します。 感染すると、ウイルス添付メールが大量送信されます。その際、メールソフトに は送信記録が残らないため、感染の発見が遅れ、その間に被害が拡大する可能性 があります。ウイルス対策ソフトウェアの導入などによって予防に努めて下さい。 セキュリティ対策ソフトウェア一覧(Amazon.co.jp) http://www.amazon.co.jp/exec/obidos/redirect?tag=msdos-22&path=tg/browse/-/637664 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ ファイル同期ツール ------------------------------------------------------------------------ ファイルを他のコンピュータに持ち出して編集する場合、そのファイルは、 ・元のコンピュータ ・持ち出し先のコンピュータ ・持ち出し用のディスク の3か所に存在することになります。 従って、いずれかの場所に保存されたファイルを編集した際には、そのファイル を他の2か所にあるファイルで上書きし、常に各ファイルを最新に保つようにし なければなりません。 しかし、この作業は案外面倒で、手作業ではミスを起こしがちです。 Windowsには「ブリーフケース」という機能もありますが、実はこの機能、異な るバージョンのWindows同士で同期を行おうとすると、正常に動作しないことが あります。 その際に便利なのが、以下のバッチファイルです。 なお、以降では、データの保存されたディレクトリを 「C:\Documents and Settings\Hayahoshi\My Documents」 とし、データの移動に使うフロッピーディスクドライブをAドライブと仮定して 話を進めます。 ドライブ名やディレクトリ名は、お使いの環境に合わせて適宜読み替えて下さい。 ------------------------------------------------------------------------ ● 更新されたファイルのコピー 2つのファイルの一方が更新されているかどうかを調べるには、更新日時を比較 するのが最も手軽です。 これには、XCOPYコマンドのオプション「/D」が使用できます。 「/D」は、コピー元とコピー先のファイルを比較して、前回のコピー以降に更新 または新しく作成されたファイルのみをコピーするオプションです。 (XCOPYコマンドについては第19号参照) ----(バッチファイルここから)----- XCOPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 A:\ /D /E /H /R /Y /C XCOPY A:\ C:\DOCUME~1\HAYAHO~1\MYDOCU~1 /D /E /H /R /Y /C -----(バッチファイルここまで)----- 1行目では、「マイドキュメント」およびそのサブディレクトリにあるファイル のうち、フロッピーディスクにあるものより新しいものをコピーしています。 そのコンピュータで作成あるいは編集したファイルが、フロッピーディスクに格 納されます。 2行目では逆に、フロッピーディスクにあるファイルを「マイドキュメント」に コピーしています。 他のコンピュータで作成あるいは編集してフロッピーディスクに格納しておいた ファイルが、「マイドキュメント」にコピーされます。 コンピュータを起動したとき、および終了するときにこのバッチファイルを実行 するようにすれば、確実にファイルの同期をとることができます。 なお、このバッチファイルでは、ファイルを削除することができません。放って おくと、あっという間にフロッピーディスクが不要なファイルで一杯になってし まいます。定期的に、手動で削除を行う必要があります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ バックアップツール ------------------------------------------------------------------------ ● 単純コピー バックアップは、一方向だけの同期処理と考えることができます。 従って、上で紹介した同期ツールを、一方向の同期だけを行うように簡略化した 以下のバッチファイルが利用できます。 ----(バッチファイルここから)----- XCOPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 D:\BACKUP\MYDOCU~1 /D /E /H /R /Y /C -----(バッチファイルここまで)----- これは第19号でXCOPYコマンドの例として紹介したものと全く同じです。 バックアップ元とバックアップ先のファイルを比較して、バックアップ元のファ イルが更新されていたらコピーを行います。 ------------------------------------------------------------------------ ● 3世代管理(Windows95,98,Me) 上のXCOPYコマンドと、これまでに説明した他のコマンドとをうまく組み合わせ れば、簡易ではありますが、バックアップの3世代管理を行うことができます。 Windows95,98,Meでは、バッチファイルは以下のようになります。 バッチファイルに登場するコマンドはこれまでに紹介したものばかりですから、 下の解説を見ずにどの程度理解できるか、試してみてはどうでしょうか。 -----(バッチファイルここから)----- MKDIR D:\BACKUP XCOPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 D:\BACKUP /D /E /H /R /Y /C REN D:\BACKUP2 BACKUP3 REN D:\BACKUP1 BACKUP2 REN D:\BACKUP0 BACKUP1 REN D:\BACKUP BACKUP0 DELTREE /Y D:\BACKUP3 -----(バッチファイルここまで)----- このバッチファイルでは、バックアップ対象のディレクトリを「マイドキュメン ト」、バックアップ先のドライブをDドライブとしています。 Dドライブには、3世代分のバックアップが保管されています。 最新のバックアップが「BACKUP0」、1世代古いものが「BACKUP1」、さらに1世 代古いものが「BACKUP2」というディレクトリにそれぞれ格納されています。 では1行ずつ解説していきましょう。 まず1行目。MKDIRコマンド(MDコマンド)は、ディレクトリを作成するコマン ドです(第13号参照)。Dドライブ(バックアップ先ドライブ)に、作業用の ディレクトリ「BACKUP」を作成しています。 2行目のXCOPYコマンドは、前の節に掲げたものとほぼ同様です。 「マイドキュメント」(バックアップ元)の内容を、先程作ったディレクトリ 「BACKUP」にコピーしています。 これでとりあえず、新しいバックアップが作成されました。 3行目では、RENコマンド(RENAMEコマンド、第10号参照)を用いて、一番古い バックアップのディレクトリ名を「BACKUP2」から「BACKUP3」に変更しています。 3行目と同様に、4行目では「BACKUP1」を「BACKUP2」に、また、5行目では 「BACKUP0」を「BACKUP1」にと、それぞれディレクトリ名の変更を行っています。 6行目では、先程XCOPYコマンドでバックアップを行ったディレクトリの名称を 「BACKUP」から「BACKUP0」に変更しています。 ここまでで、バックアップの世代が1つ新しくなったことになります。ただし、 4世代目のバックアップ「BACKUP3」は、まだディスク上に残っています。 7行目のDELTREEコマンドは、空でないディレクトリを、中身も含めて一気に削 除するコマンドです(第13号参照)。 不要になった4世代目のバックアップ「BACKUP3」を削除しています。 これで、バックアップの世代の更新が完了したことになります。 なお、バッチファイルの書き方は1通りではありません。 この例の他にも、同様の作業を行うバッチファイルの書き方はいくつもあります。 もっといい書き方がありましたら、このメールへの返信でお知らせ下さい。 ------------------------------------------------------------------------ ● 3世代管理(Windows2000,XP) Windows2000,XPにはDELTREEコマンドがありません。これらのWindowsでは、 DELTREEコマンドの代わりに、RMDIRコマンド(RMコマンド)のオプション「/S」 を利用することになります。 バッチファイルは以下のようになります。 -----(バッチファイルここから)----- MKDIR D:\BACKUP XCOPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 D:\BACKUP /D /E /H /R /Y /C REN D:\BACKUP2 BACKUP3 REN D:\BACKUP1 BACKUP2 REN D:\BACKUP0 BACKUP1 REN D:\BACKUP BACKUP0 RMDIR /S /Q D:\BACKUP3 -----(バッチファイルここまで)----- ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 次号の予定は、「バッチプログラミング(2)」です。 プログラミングの基礎であるアルゴリズムについて説明し、実際に簡単なバッチ ファイルを記述してみます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://bbs9.otd.co.jp/dos/bbs_thread (スレッド表示) http://bbs9.otd.co.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 バッチファイルの投稿もお待ちしております。 tetrahedrane@yahoo.co.jp なお、いただいたコメントは、本マガジン上で引用する場合があります。 (メールアドレスやお名前は一切公開いたしません) ─[ P R ]──────────────────────────────      ┳      ★産直品・海産物・食材情報満載サイト★     < ┸ >    キーワードで検索は、もう古い?!◇◆王 国◇◆   ┳/ └v┘ `    検索不要の厳選サイト550以上がぎっしり! < ┸ >    |   とれたての食材を産地直送! - グルメ市場.cc - └v┘ `   /     http://www.kingdom.or.jp/ichiba/ ─[ P R ]────────────────────────────── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● 感想・質問宛先 http://bbs9.otd.co.jp/dos/bbs_tree tetrahedrane@yahoo.co.jp ● 広告募集 当メルマガへの広告掲載をご希望の方は、下記アドレスまでお願いします。 tetrahedrane@yahoo.co.jp ● メルマガ交換広告募集 当メルマガとのメルマガ交換広告をご希望の方は、下記アドレスまでどうぞ。 tetrahedrane@yahoo.co.jp ● 登録・解除・バックナンバー http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ このメールマガジンは、『まぐまぐ』を利用して発行しています。 http://www.mag2.com/m/0000106066.htm (c) 2003 Chisato Hayahoshi