━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第19号(2003.07.19) 高度なコピーコマンド ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■メルマガ交換広告 ■ はじめに ● 質問募集(再掲) ● 7〜8月の発行予定 ■ XCOPYコマンド ● 書式 ● 機能 ■ バックアップ・データ退避用バッチファイルの作成 ● とりあえず作成 ● XCOPYコマンドの利用 ● 定期的に実行する ■ コメントをお待ちしています ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ メルマガ交換広告 ------------------------------------------------------------------------ ----☆PR☆--------------------------------------------------------------  オブジェクト指向を勉強したい!,Javaを勉強したい!  メールマガジン『JavaScript&Javaで目指そう!基本情報技術者試験』 を購読してますか? (無料)執筆は,宿題メールでおなじみの斎藤末広  登録 http://www.mag2.com/m/0000066251.htm  詳細 http://www.3721p.com/java/jmaga/ ---------------------------------------------------------------☆PR☆--- 交換広告に関するお問い合わせは tetrahedrane@yahoo.co.jp まで ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ こんにちは、速星です。今週もよろしくお願いします。 ------------------------------------------------------------------------ ● 質問募集(再掲) 7月末か8月頭に、Q&A特集を組もうと思っています。皆さんからお寄せいた だいた質問に、メルマガ上で回答いたします。 メルマガを読んで疑問に思ったことがありましたら、下記アドレスまで、気軽に メールをお願いします。 tetrahedrane@yahoo.co.jp なお、いただいた全ての質問に回答できるわけではありませんので、あらかじめ ご了承下さい。 ------------------------------------------------------------------------ ● 7〜8月の発行予定 7〜8月は、不定期発行となります。 現時点での予定は、 7月26日:第20号(ディスク操作(1)) 8月 2日:第21号(Q&A特集) 8月 9日:休刊 8月16日:休刊 8月23日:休刊 8月30日:第22号(ランチャとしてのDOS窓) (以降は通常通り発行) となっています。 詳細は、当メルマガのホームページでご確認下さい。 http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ XCOPYコマンド ------------------------------------------------------------------------ ファイルのコピーには通常、COPYコマンドを使います。 そのCOPYコマンドを高機能にしたものが、XCOPYコマンドです。 コマンド名の由来は、「eXtended COPY」でしょうか。(私の勝手な想像です) ------------------------------------------------------------------------ ● 書式 基本的な使い方は、COPYコマンドと同じです。 XCOPY 送り側 [受け側] COPYコマンドの使い方は、第8号をご覧下さい。 http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/dos08.txt これだけではCOPYコマンドと変わりませんが、XCOPYコマンドの場合は、様々な オプションを付け加えることで、様々な機能を使用することができます。 ------------------------------------------------------------------------ ● 機能 XCOPYコマンドは様々な機能をもっています。 ここでは、全ては紹介しきれませんし、列挙しただけでは使いこなせないでしょ うから、主要な機能の概要のみを紹介することにします。個別の説明は、バッチ ファイルの記述などで必要になったときに、その都度行います。 /M アーカイブ属性のファイルのみを、属性を解除しながらコピー /D 送り側が受け側より新しいファイルのみをコピー /E サブディレクトリとその中のファイルも全てコピー /H 隠しファイルとシステムファイルもコピー /R 書き込み禁止属性のファイルでも上書きする /Y 受け側ファイルが既に存在するとき、確認せずに上書きする /C 途中でエラーが起きてもコピーを続行する ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ バックアップ・データ退避用バッチファイルの作成 ------------------------------------------------------------------------ それでは、バックアップや緊急時のデータ退避に使えるバッチファイルを作って みましょう。一度バッチファイルを作っておけば、あとは、それを実行する (Windows上ではアイコンのダブルクリックに対応)だけで自動的にバックアッ プを行うことができます。 ここでは、 「C:\Documents and Settings\Hayahoshi\My Documents」 というディレクトリにあるファイルやサブディレクトリ、サブディレクトリ中の ファイルを 「D:\Backup\My Documents」 というディレクトリにバックアップ(コピー)する場合を考えます。 ディレクトリ名は、お使いのコンピュータに合わせて適宜読み替えて下さい。 なお、以下で紹介する各バッチファイルの見本は、バックナンバーと共に、Web 上で公開しております。必要に応じてご利用下さい。 http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ ------------------------------------------------------------------------ ● とりあえず作成 XCOPYコマンドを使わなくても、COPYコマンドをいくつも書くことで、一応、 バックアップ用のバッチファイルを作ることができます。 ただし、COPYコマンドではサブディレクトリのコピーが行えませんから、それぞ れのディレクトリにサブディレクトリが存在する場合は、1つ1つ、COPYコマン ドを書き連ねる必要があります。 見本バッチファイル:backup.bat -----(バッチファイルここから)----- COPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 D:\BACKUP\MYDOCU~1 COPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1\MYPICT~1 D:\BACKUP\MYDOCU~1\MYPICT~1 COPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1\MYMUSI~1 D:\BACKUP\MYDOCU~1\MYMUSI~1 -----(バッチファイルここまで)----- ------------------------------------------------------------------------ ● XCOPYコマンドの利用 上記のバッチファイルには、非常に大きな問題点があります。 それは、 「新しいディレクトリを作るたびに、バッチファイルを書き換える必要がある」 ということです。 これでは、バックアップの漏れがいつ生じてもおかしくありません。 COPYコマンドではサブディレクトリのコピーができないので、このようなことに なるのです。 この点、XCOPYコマンドは、オプション「/E」を指定することで、サブディレク トリのコピーにも対応できます。サブディレクトリごとにコマンドを書く必要は ありません。 XCOPYコマンドを使ったバッチファイルは、以下のようになります。 COPYコマンドの場合と違い、たった1行の記述で、高機能なコピーができます。 見本バッチファイル:backup2.bat -----(バッチファイルここから)----- XCOPY C:\DOCUME~1\HAYAHO~1\MYDOCU~1 D:\BACKUP\MYDOCU~1 /D /E /H /R /Y /C -----(バッチファイルここまで)----- 参考文献:『日経PCビギナーズ 2003 vol.6』 http://pb21.nikkeibp.co.jp/ 使用した各オプションについて説明しておきましょう。 「/D」は、コピー元とコピー先のファイルを比較して、前回のコピー以降に更新 または新しく作成されたファイルのみをコピーするオプションです。 ファイルが全く変更されていない場合はコピーの必要がありませんから、毎回同 じディレクトリにバックアップを行う場合、所要時間を短縮することができます。 「/E」は、先に書いたように、サブディレクトリとその中のファイルもコピーす るというオプションです。 「/H」を指定すると、隠しファイルとシステムファイルもコピーされます。 実は、隠しファイルやシステムファイルは、DOS上では通常、コピーできませ ん。XCOPYコマンドで「/H」オプションを指定してはじめて、全ての属性のファ イルがコピーできるようになります。 バックアップの漏れを防ぐためには、重要なオプションです。 「/R」は、コピー先のディレクトリに既に同じ名前のファイルが存在するときに、 そのファイルに書き込み禁止属性がついていても、構わずに上書きコピーを実行 すというオプションです。 何らかの原因でバックアップファイルに書き込み禁止属性がつけられていたとき に、バックアップの漏れが生じるのを防ぐために必要です。 「/Y」オプションを指定すると、コピー先のディレクトリに既に同じ名前のファ イルが存在するときに、確認のダイアログを表示することなく、上書きコピーが 実行されます。 バックアップ作業の場合、バックアップ先ディレクトリのファイルを新しいファ イルに置き換えることになるので、上書きになってあたりまえです。いちいち確 認を求められても面倒なだけですから、このオプションを記述してしまってもい いと思います。 「/C」は、途中でエラーが起こってもコピーを続行するオプションです。 このオプションを指定しないと、何らかの原因でコピー元ファイルの読み込みや コピー先ファイルの書き込みに失敗した場合、その時点でコピーが中止されてし まいます。これでは一部のファイルしかバックアップできない可能性があります ので、「/C」の記述によって、少々の欠けが生じてもバックアップを最後まで続 けるようにしてやります。 ------------------------------------------------------------------------ ● 定期的に実行する せっかくバックアップ用のバッチファイルを作っても、定期的に実行することを 忘れてしまったら何にもなりません。 Windowsには、定期的に実行するためのツール「タスクスケジューラ」が標準で 用意されています。これを使ってみましょう。 「マイコンピュータ」の「タスク」を開き、「タスクの追加」をダブルクリック します。 「実行するプログラム」としては、「参照」ボタンを押して、先程作ったバッチ ファイルを指定します。 タスクの名前を適当つけ、バッチファイルを実行する日を、コンピュータの使用 頻度に応じて選べば設定完了です。 後は、指定した日時になれば、自動的にバックアップが行われます。 ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 次号の予定は、「ディスク操作(1)」です。 フォーマットやディスク丸ごとのコピーなど、ファイルやディレクトリ単位では なくドライブ単位での操作を行うコマンドについて説明します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://bbs9.otd.co.jp/dos/bbs_thread (スレッド表示) http://bbs9.otd.co.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 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