━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第36号(2003.12.13) バッチプログラミング(3) 5811部配信 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■ はじめに ● 年末年始の発行予定(再掲) ■ PAUSEコマンド ■ 使いやすいバッチファイルとは ● エコーバック ● ECHO OFF ● @ECHO OFF **[PR]************************************************************* ■■■■■■■■■■ [ AQ'z Mail Service ] ■■■■■■■■■■ 複数のメールマガジンに広告を載せませんか? 発行部数×0.5円で、お好みの発行部数分だけ、御予算に応じてメールマガ ジンに広告を掲載いたします。読者層の指定ができますよ! お問い合わせは tetrahedrane@yahoo.co.jp まで http://www.aqz.nu/ ******************************************************************* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ 皆さん、こんにちは。速星です。 今回は、バッチファイルのユーザインタフェースについて考えます。 ------------------------------------------------------------------------ ● 年末年始の発行予定(再掲) 年末年始は不定期発行となります。 現時点での予定は、 12月13日:第36号(バッチプログラミング(3)) 12月20日:第37号(98とDOS/V) 12月27日:休刊  1月 3日:休刊  1月10日:第38号(FATファイルシステム) (以降は通常通り発行) となっています。 詳細は、当メルマガのホームページでご確認下さい。 http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ PAUSEコマンド ------------------------------------------------------------------------ バッチファイルの実行を一時停止するときに使うコマンドがPAUSEコマンドです。 オプションなどはありませんので、書式はただ単に「PAUSE」となります。 実行すると、以下のように表示され、バッチファイルの実行が停止されます。 > C:\>PAUSE > 続行するには何かキーを押してください . . . 適当なキーを押すと、バッチ処理が再開されます。 バッチファイルの途中で動作を止めて画面を確認したいとき、ディスクを入れ替 えたいときなどに活用できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ 使いやすいバッチファイルとは ------------------------------------------------------------------------ 例えば、下のようなバックアップ用バッチファイルを、DOSを知らない人にも 使いやすいものにすることを考えます。 -----(バッチファイル1ここから)----- XCOPY C:\MYDOCU~1 A:\ /D /E /H /R /Y /C -----(バッチファイル1ここまで)----- 単純にバックアップの機能だけを追求するなら、上の例のようにXCOPYコマンド だけを記述すれば十分です。 しかし、誰にとっても使いやすいものとするためには、説明を追加しなければい けません。今からどんな作業が行われるのか、作業の進み具合はどうなのか、と いった情報が表示されないと、DOSを知らないユーザには、何が行われている のかが全く分かりません。 では、ECHOコマンドを使って作業の説明を表示させてみましょう。 作業の流れを画面に表示させるようにしておけば、後でバッチファイルを修正す る際、あるいは他人がそのファイルを見る場合にも、理解しやすくなります。 -----(バッチファイル2ここから)----- ECHO 「マイドキュメント」のバックアップを開始します. XCOPY C:\MYDOCU~1 A:\ /D /E /H /R /Y /C ECHO バックアップが終了しました. -----(バッチファイル2ここまで)----- さらに、フロッピーディスクを入れるように促す文を表示させると、次のように なります。 ディスクの挿入を待つため、PAUSEコマンドで一時停止させている点にも注意し て下さい。 -----(バッチファイル3ここから)----- ECHO 「マイドキュメント」のバックアップを行います. ECHO フロッピーディスクを挿入して下さい. PAUSE ECHO バックアップを開始します. XCOPY C:\MYDOCU~1 A:\ /D /E /H /R /Y /C ECHO バックアップが終了しました. -----(バッチファイル3ここまで)----- ------------------------------------------------------------------------ ● エコーバック さて、上のバッチファイルは、実行時に下のようにメッセージを表示させるつも りで書いたものでした。 > 「マイドキュメント」のバックアップを行います. > フロッピーディスクを挿入して下さい. > 続行するには何かキーを押してください . . . > バックアップを開始します. > C:\My Documents\dos00.txt > C:\My Documents\dos01.txt > C:\My Documents\dos02.txt 〜中略〜 > C:\My Documents\dos35.txt > 35 個のファイルをコピーしました > バックアップが終了しました. ところが、実際には次のように、バッチファイルに書かれたコマンドも1行ずつ 表示されてしまいます。 > C:\>ECHO 「マイドキュメント」のバックアップを行います. > 「マイドキュメント」のバックアップを行います. > > C:\>ECHO フロッピーディスクを挿入して下さい. > フロッピーディスクを挿入して下さい. > > C:\>PAUSE > 続行するには何かキーを押してください . . . 〜以下略〜 バッチファイルの中身は実行時にMS−DOSによって1行ずつ自動的に入力さ れるので、普段DOS窓から入力したときと同じように表示されるのです。 この表示を「エコーバック」といいます。 ------------------------------------------------------------------------ ● ECHO OFF エコーバックはバッチファイルの動作確認にはなくてはならないものです。 しかし、DOSユーザ以外でも手軽に利用できるバッチファイルを作ろうとする ときには、不必要な文字を表示させる厄介物になってしまいます。 そこで、エコーバックの機能をオフにするコマンドがあります。 それが、ECHOコマンドです。 ECHOコマンドはメッセージを表示させるためのコマンドとして説明してきました が、実は、エコーバックのオン・オフを切り替える機能もあるのです。 ヘルプ「ECHO /?」を見てみましょう。次の2つの構文が表示されるはずです。 ECHO [ON | OFF] ECHO [メッセージ] 前者の構文が、エコーバックのオン・オフを切り替える機能です。 後者は、今まで使ってきたメッセージ表示機能ですね。 従って、バッチファイルの先頭に「ECHO OFF」と記述すれば、邪魔なエコーバッ クは表示されなくなります。 ------------------------------------------------------------------------ ● @ECHO OFF 「ECHO OFF」でエコーバックを消す方法には、問題点があります。 それは、「ECHO OFF」というコマンドを実行するときにはまだエコーバックがオ フになっていないため、「ECHO OFF」自体はエコーバックされてしまうというこ とです。 この対策として、バッチファイル中では「@」という記号が使われます。 コマンドの先頭に「@」をつけると、エコーバックがオンの状態であっても、そ のコマンドだけはエコーバックされないようにできるのです。 ※※ 注意 ※※ 記号「@」は本当は半角で記述する必要があります。 ただ、メルマガ中で半角の「@」を使うと、メールソフトによってはメールアド レスと誤認識して見苦しくなってしまうため、ここではあえて全角で記述してい ます。 実際にバッチファイルを作る際には、全て半角の「@」に置き換えて下さい。 例えば、「@ECHO Hello, world!」と書いたバッチファイルを作って実行してみ て下さい。「Hello, world!」というメッセージだけが表示され、コマンドその ものは画面に現れないはずです。 では、バッチファイルの先頭の「ECHO OFF」を「@ECHO OFF」に書き換えてみま しょう。 -----(バッチファイル4ここから)----- @ECHO OFF ECHO 「マイドキュメント」のバックアップを行います. ECHO フロッピーディスクを挿入して下さい. PAUSE ECHO バックアップを開始します. XCOPY C:\MYDOCU~1 A:\ /D /E /H /R /Y /C ECHO バックアップが終了しました. -----(バッチファイル4ここまで)----- これが完成したバッチファイルです。(「@」は半角に置き換えて下さい) 実行させると、コマンドは一切表示されず、必要なメッセージだけが画面に現れ ます。DOSを使ったことのないユーザにも比較的使いやすいバッチファイルと いえるでしょう。 ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 次号の予定は、「98とDOS/V」です。 DOSの、機種による違いについて説明します。 ----☆PR☆-------------------------------------------------------------- ■━━【★…ノウハウ小冊子(ネット限定版)】 ━━━━━━━━━━━━━■    〓 “リスニング耳”になるための「5つの非常識な常識」 〓     私、英聴リスニング研究会の“英語耳コンサルタント”である高木雅邦が実践 してきた秘策をあるがままに告白した、門外不出の凄い!リスニング耳ノウハ ウを裏技集として、ご希望の方にだけにそっとお届けします。それはズバリ血 沸き、肉踊る。。聞いたそばから、実践したくなるリスニング耳、いやネイテ ィブ耳のノウハウであることをお約束しましょう。今まで失敗してきたあなた だって、●○リスニング耳の特権階級1%○●になれる!    ◎その多くの人が読んで感動した、その一部を紹介すると・・・ ★--リスニング耳以上のネイティブ耳になる方法。★--高周波帯の神経ニュー ロンを育てる方法。★--誰でもネイティブ発音になれるホントの秘策。等々〜 ★今すぐ、クリック!   ━無料先着100名様━           http://www.cyber104.com/tetrahedrane/          (注意!★大切なノウハウですから興味のない方はご遠慮ください。) ---------------------------------------------------------------☆PR☆--- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://bbs9.otd.co.jp/dos/bbs_thread (スレッド表示) http://bbs9.otd.co.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 tetrahedrane@yahoo.co.jp なお、いただいたコメントは、本マガジン上で引用する場合があります。 (メールアドレスやお名前は一切公開いたしません) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● 感想・質問宛先 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