autoexec.bat(オートエクゼグ.バッチ)とは
config.sys のあとに実行されるファイルで、環境変数の設定やコマンド検索パスの指定。起動時に実行するコマンドなどを書き込んでおくと、実行したいプログラムを自動的に読み込んでくれるという便利なファイルです。Windows だと、スタートアップ機能を使うと、同じような感覚が味わえます。
MS-DOSの場合は、起動するドライブのルートディレクトリに必ずこのファイルがあります。というか、ルートにこのファイルがないと、どのプログラムを実行していいのかわからないので、エラーが出るかもしれません。(^ ^;)
MS-DOS6.2(Windows3.1)での記述例
@ECHO OFF A:\DOS\SMARTDRV.EXE /X PATH B:\ABC;A:\Windows SET TEMP=A:\TEMP SET DOSDIR=A:\DOS
@ECHO OFF 不必要なメッセージを表示しなくなります。→ ECHOコマンド
A:\DOS\SMARTDRV.EXE /X ディスクキャッシュを設定。
PATH B:\ABC;A:\Windows コマンド検索パスを指定。→ PATHコマンド
SET TEMP=A:\TEMP MS-DOSの作業ドライブを指定。 → SETコマンド
SET DOSDIR=A:\DOS MS-DOSのディレクトリを指定。(CUSTOM コマンドを使用するときに関係します)
※Windows 3.1まではMS-DOSをベースに動いていましたが、現在ではMS-DOSは付属の機能で生き残っているだけなので、CUSTOM コマンドなど、数々のコマンドは姿を消しているので、完全に不要の知識になった感じですね、この辺りは。
コマンド検索パスについて
プログラムやコマンドを探すときの経路を書いたものが「パス」です。ソフトを実行するときに、一度にすべてのプログラムをメモリに読み込めれば問題ないですが、大きなプログラムだとそうもいかず、実際は、必要に応じて読み込むようになっていることもあります。そんなとき、必要なものをすぐ読み込めるように、どこに必要なものがあるかを書いた経路が「パス」なんです。
なので、パスの記述が間違っていると、「必要なプログラムが読み込めない」ことになり、正しくソフトが動作できないこともあります。特に多いのが、ワープロソフト使用時の、辞書ファイルの指定などですね。「辞書ファイルが見つかりません」というメッセージが表示され、変換ができないという、おそろしい状況に陥ります。
- 書式:PATH <ドライブ名>:<パス>;......
パス名とパス名の間を「;(セミコロン)」で区切って、必要なパスを設定してください。「PATH」コマンドのほかにも、「SET PATH」でもOK。 (ここで指定された経路にそって、実行ファイル「.COM .EXE .BAT」が検索されます)
環境変数(environment variable)について
環境変数というのは、COMMAND.COM が確保する特別なメモリ領域(環境メモリ)におく変数のことで、「SET」コマンドなどで、MS-DOS の環境変数を表示・ 設定・削除を行います。 バッチファイルやアプリケーションは、その環境変数の内容によって、ソフトの制御なんかをしているので、けっこう重要なポイントです。
代表的な環境変数としては、作業ディレクトリを指定する「TEMP」や「TMP」、COMMAND.COMの位置を指定する「COMSPEC」などがあります。コマンド検索パス(PATH)も、環境変数の一種です。
- 書式:SET <環境変数>=<文字列>
※環境変数をたくさん設定すると、そのためにメモリ不足を招くので、そういうときは、上記のCONFIG.SYSの記述例で書いた、「SHELL=A:\COMMAND.COM /P /E:1024」のように、環境変数用のメモリ数値を変えると良いです。「/E:<環境変数用のメモリ数値>」で指定できます。省略時では256バイトになっているので、1024バイトあたりにするとメモリ不足が解消されます。
バッチファイルについて
MS-DOSを使っていたころは、ソフトを使うときは、バッチファイルを自分で作る羽目に陥っていましたが、WindowsにOSが変わってからは、そのあたりもすべて自動化され、バッチファイルを自分で作ることもなくなりました。もし、MS-DOSを使用することになり、バッチファイルを作らなくてはいけない状態に陥ったら、慌てず、コマンドラインで打ち込んでいるコマンドをメモってください。そしてそれを順番に、書き込んでください。そうすれば、バッチファイルは完成します。
――早い話しが、「CD」コマンドでカレントディレクトリを変更して、必要な「PATH」と「SET」を打ち込んで、あとは、起動の実行ファイル(MS-DOSの場合は、拡張子が「.COM」「.EXE」「.BAT」)を指定すればOKです。
なお、MS-DOSの場合は、「.COM」→「.EXE」→「.BAT」の順で実行します。バッチファイルの名前をつけるときは、「.COM」「.EXE」とだぶらない名前にしないと、優先順位が低いので、せっかく作ったバッチファイルが実行されなくなるので、ご注意を。もちろん、これは、コマンドラインで、ファイルの名前(コマンド名)のみ入力した場合ですけどね。
コメントする