MSX Datapack wiki化計画

2.6 バッチ処理

2.6.1 バッチファイルの作成

 バッチコマンドを利用するには、まずディスク上にバッチファイルを作成しなければなりません。バッチファイルは、「copy」コマンドを用いて次のような手順で作成します。バッチファイルはエディタでも作成できます。

■キーボードからの入力を「AUTOEXEC.BAT」というファイル名でドライブAのディスクにコピーする

A>copy con autoexec.bat
rem This is AUTO EXECUTE FILE              この入力がファイルに記録される
basic funckeys.ini
^Z                                        ←ファイルの終わりには、必ず[CTRL]+[Z]を入力する
          1 file copied
A>

 「^Z」はファイルがそこで終わることを示す記号で、エンドオブファイルマーク(EOF)といい、ファイルの最後には必ず書き込まなければなりません。
 上の例の「AUTOEXEC.BAT」がディスク上に作成されたかどうか、「type」コマンドで表示させると以下のようになります。

A>type autoexec.bat
rem This is AUTO EXECUTE FILE
basic funckeys.ini

A>

2.6.2 パラメータの使用例

 バッチファイルでは、「%」のあとに1桁の数字を用いた仮パラメータを使用することができます。この仮パラメータは、バッチコマンド実行時にコマンド行に書かれたファイルスペックやスイッチ、パラメータと置き換えて処理されます。これを利用すれば、1つのバッチファイルで様々なファイルに対する処理を行うことができます。
 仮パラメータは、%0から%9までの10個が使用できます。%0はコマンド名自身と置き換えられ、%1から%9までの9個が実パラメータと置き換えられます。次の例では、仮パラメータを使用したバッチファイルで、アセンブラを用いてコマンドファイルを作っています。

A>type asm.bat
rem This is ASM.BAT
rem START BATCH FILE
dir
m80=%1.asm
m80=%2.asm
l80 %1,%2,%1 /n/e
dir
A>

 このバッチファイルを使って、test1.asmとtest2.asmをアセンブルし、コマンドファイルを作成します。

A>asm test1 test2
A>rem This is ASM.BAT
A>rem START BATCH FILE
A>dir
MSXDOS    SYS    2432 85-08-23  9:29p
COMMAND   COM    6656 85-09-02 10:10p
M80       COM   20224 85-04-01 10:27p
L80       COM   10725 85-04-01 10:25p
ASM       BAT     117 85-07-17 12:24p
TEST1     ASM     256 85-07-18 12:20a
TEST2     ASM     256 85-07-18 12:23a
       7 files  317440 bytes free
A>m80 = test1.asm

No Fatal Error(s)

A>m80 = test2.asm

No Fatal Error(s)

A>l80 %1,%2,%1 /n/e

MSX.L-80   1.00 01-Apr-85     (C)  1981, 1985 Microsoft

Data   0100  0141   <  65>

43504 Bytes Free
[000   0141     1]

A>dir
MSXDOS    SYS    2432 85-08-23  9:29p
COMMAND   COM    6656 85-09-02 10:10p
M80       COM   20224 85-04-01 10:27p
L80       COM   10725 85-04-01 10:25p
ASM       BAT     117 85-07-17 12:24p
TEST1     ASM     256 85-07-18 12:20a
TEST2     ASM     256 85-07-18 12:23a
TEST1     REL     128 85-07-18 12:24a
TEST2     REL     128 85-07-18 12:25a
TEST1     COM     128 85-07-18 12:25a
      10 files  314368 bytes free
A>
A>

 このように、%1、%2という2つの仮パラメータが、コマンド行から入力した順にtest1、test2と置き換わって処理されます。

2.6.3 MSX-DOS起動時の自動実行機能

 「AUTOEXEC.BAT」というバッチファイル名は、MSX-DOSが使用します。「AUTOEXEC」は自動実行(AUTO EXECution)という意味で、MSX-DOS起動時に自動的に実行されるバッチファイルです。
 MSX-DOSが起動すると、MSXはドライブAに入っているディスクから「AUTOEXEC.BAT」というバッチファイルを捜し、見つかればバッチコマンドとして実行します。「AUTOEXEC.BAT」がないときは通常どおりに起動します。
 なお、時計機能がないMSXで、「AUTOEXEC.BAT」が実行されると、起動時に必要な日付を入力する手続きは省略されますがMSX-DOSの動作に影響はありません。