━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第86号(2007.09.01) 最小のプログラム(2) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■ はじめに ■ 最小のプログラム(2) ● 0バイトのプログラム ● 空のスクリプトファイル ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ 皆さん、こんにちは。速星です。 最近、TOEICの勉強を始めました。10月28日に受検しようと思っています。 ライティングは何とかなるかなと思っていますが、リスニング、1度しか言ってく れないというのはハードですね。 (編集後記に続く) さて、今回のテーマは「最小のプログラム(2)」です。 前回発行の「最小のプログラム」の続編(オチ?)をお送りします。 バッチファイルがいかに便利か、その一端を知っていただければと思います。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ 最小のプログラム(2) ------------------------------------------------------------------------ 前回発行で、最小サイズの実行ファイルは2バイトで、ただ終了するだけのCOM ファイルだとご説明しました。 http://www.geocities.jp/tetrahedrane/column/dos/dos85.txt 今回は、さらに上をいく、0バイトのプログラムをご紹介します。 ------------------------------------------------------------------------ ● 0バイトのプログラム 「0バイトって…何も書かないってこと?」 「空のファイル?」 はい、その通り。大正解です。 では早速、空のCOMファイルで試してみましょうか。 デスクトップ画面上で右クリックし、「新規作成」→「テキスト文書」と選択。 できたファイルを「zero.com」というファイル名にすれば完成です。 ダブルクリックで実行してみましょう! 「……有効なWin32アプリケーションではありません」 残念。COMファイルは空ではだめなのです。 では今度は、ファイル名を「zero.exe」にして、同様に実行してみましょう。 「……有効なWin32アプリケーションではありません」 残念。EXEファイルも空ではだめなようです。 では、空でも実行できるのは、どんなプログラムでしょうか? ------------------------------------------------------------------------ ● 空のスクリプトファイル 空でも実行できるプログラム。 その答えは、スクリプトファイルです。 まずは、実際に試してみましょう。 例えば、先ほどの「zero.exe」を「zero.vbs」にリネームしてみます。 今度はちゃんと実行できるはずです。ダブルクリックで起動してみましょう。 どうですか? 「……何もおきないけど?」 はい、それでいいのです。だって、何もしない実行ファイルですから。 エラーメッセージが出なければ、正常に実行され、正常終了したということです。 ということで、VBScriptでは空のプログラムもちゃんと実行できました。 (セキュリティソフトの設定によっては、実行できないこともあります) 同様に、「zero.js」としてみて下さい。JScriptのプログラムです。 こちらも正常に実行できるはずです。 そして、「zero.bat」。このメルマガの本題、DOSバッチファイルです。 バッチファイルも、空でも大丈夫です。 「……エラーでたけど?」 はい、出ちゃいました。 本来は空でも実行できるはずなのですが、なぜか、Windows上でダブルクリック して起動すると、エラーが出てしまいます。 けれども、同じファイルをコマンドプロンプト上で起動してみるとどうでしょう。 今度はなぜか、エラーが出ず、正常に実行することができます。 (Windows XP Pro SP2上で検証しました) この動作の違いは謎ですが、バッチファイルも一応、空でも実行できたわけです。 ということで、ファイルサイズ0バイトのプログラムを、DOS上で実行することに 成功しました! 0バイトより小さなファイルはありえませんから、このバッチファイルは世界最小 のプログラムといえます。ギネスブックにはちょっと載せてもらえそうにありま せんが、とにかく世界一です。 バイナリ実行ファイルの最小記録(COMファイル、2バイト)と、スクリプトファ イルの最小記録(BATファイル、0バイト)。この双方の世界記録を、MS-DOS(も しくはコマンドプロンプト)だけで再現できるわけです。 これって、すごいことだと思いませんか? ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 2回にわたってご紹介したこの記録、人によって感じ方は違うでしょう。 私はこの事実に感激しましたが、「それで何?」と思われた方もあるかと思い ます(実は大多数?)。 とりあえず、ネタの1つとしてだけでも頭の片隅に入れておいていただければ、 執筆者としてはありがたい限りです。 次回は、RUNASコマンドについて取り上げます。 (「はじめに」の続き) 英検やセンター試験とは異なり、TOEICのリスニングは1度しか言ってくれません。 まだTOEIC独特の「間合い」に慣れていないため、毎度のように冒頭を聞き損ねて しまいます。しかも、英語は重要なことを一番最初に言う言語ですから、冒頭を 聞き損ねると、何を言いたいんだか、もうさっぱり分かりません。 CDプレイヤー相手に「待ってー!」と悲鳴を上げる今日この頃です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://otd9.jbbs.livedoor.jp/dos/bbs_thread (スレッド表示) http://otd9.jbbs.livedoor.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 tetrahedrane@yahoo.co.jp なお、いただいたコメントは、本マガジン上で引用する場合があります。 (メールアドレスやお名前は一切公開いたしません) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● 感想・質問宛先 tetrahedrane@yahoo.co.jp ● 広告・メルマガ交換広告募集 当メルマガへの広告掲載や、メルマガ交換広告をご希望の方は、下記アドレスま でお願いします。 tetrahedrane@yahoo.co.jp ● 登録・解除・バックナンバー http://www.geocities.jp/tetrahedrane/column/dos/ http://www.mag2.com/m/0000106066.htm このメールマガジンは、『まぐまぐ』を利用して発行しています。 http://www.mag2.com/ (c) 2003-2007 Chisato Hayahoshi