エコー

休日出勤の日。

今さらとはいえ、DOSのバッチファイルの再勉強となる。パソコンに関しては、世の中がWindowsだインターネットだと騒いでいるところにMS-DOSから入った。メモリ上に仮想ディスクを組み込んで、Bドライブ(※)の内容を一旦仮想ディスクに転送し、それからゲームをスタートする…といった一連の処理を書き記していたのが、バッチファイル。

自前でバッチファイルを用意する流れをすっかり忘れており、まずは.batファイルの中を読み、この構文はなんぞ?という思い出しから。DOS窓からは、コマンドに対して『/?』を一緒に打ち込めば簡単な解説が表示されるようになるので、解説文を読みながら一つひとつ思い出していく。

そこで引っかかったのが@echo off。エコーのONとOFFは時間の経過と共に思い出してきたが、echoの頭にアットマークを入れるってのはどういう機能だったか。業務中はスマホをいじるわけにはいかないので、調査しなければならないコマンドを記憶しておき、帰ってきてから調べ直す。

@echo offはDOS窓上で、コマンドラインを見やすくするためのコマンド。これがないと、バッチファイルに書かれている文が全て表示されてしまう。実際に@echo offをremでコメント扱いにしてから、再度バッチファイルを走らせてみると、なるほど納得。一挙に見え辛くなってしまった。この調子なら、思い出すまではさほど時間は掛からないと思われる。

もう一つCUIネタ。遠い昔にDOSのバッチファイルを扱っていた経験があったため、これまた過去に使っていたFreeBSDも馴染むまではさほど時間は掛からなかった。古典的BASICであるN88-BASIC(MS-DOS版)も並行して扱っており、こちらも全く問題なく扱えた。ところが、Visual Basic for Applicationsは全く馴染めない。VBAがダメな理由は自分でも原因が掴めない。

※Bドライブ
昔のパソコンはAドライブとBドライブがフロッピーディスクドライブだった。ゲームではAドライブのフロッピーディスクが起動コマンド及びメインプログラムを格納、Bドライブのフロッピーディスクにゲームデータを格納していた。

Bドライブの内容をメモリ上の仮想ディスクに転送しておけば、読み書きを瞬時に終わらせてスムーズなプレイが可能…という、今でこそ珍しくないが、PC98シリーズで実現できていた。