MSX Datapack wiki化計画

2章 MSX-DOSの操作

※
※ このページは書きかけです。以下の可能性があります。
※ ・誤字、脱字等のチェックをおこなっていません。
※ ・テキスト、表などフォーマットがされていない。
※ ・画像が抜けている。
※

  2.1 MSX-DOSの起動と終了

2.1.1 MSX-DOSで使用するディスクの種類

 MSX-DOSでは、次の2つのタイプのディスクを使用します。

1.3.5インチマイクロフロッピーディスク(1DDタイプ)
 1DDとは、片面倍密度トラック(Single sided、Double density、Double track)の意味で、フォーマット時の記憶容量は360Kバイトです。

2.3.5インチマイクロフロッピーディスク(2DDタイプ)
 2DDとは、両面倍密度トラック(Double sided、Double density、Double track)の意味で、フォーマット時の記憶容量は720Kバイトです。

2.1.2 MSX-DOSの起動

 MSX-DOSを起動するには、以下の手順で行います。

  1. MSXコンピュータとディスプレイ、ディスクドライブ、プリンタ(必要に応じて装備)などの周辺機器が正しく接続されていることを確認します。
  2. 周辺機器の電源を入れます。
  3. システムディスクをドライブAに挿入します。ここで「ドライブA」とは、次のようなドライブを指します。
    • 接続しているドライブが1台のときは、そのドライブ。
    • 接続しているドライブが2台のときは、ディスクインターフェイスカートリッジに接続されているドライブ。
    • なお本体内蔵のドライブを使用している方は、「2.1.4 複数ドライブを用いるときのドライブ番号」を参照して下さい。
  4. MSXコンピュータの電源を入れます。
              MSXDOS.SYSのバージョン番号を表す。
                  ↓
MSX-DOS version 1.03
Copyright 1984 by Microsofut

COMMAND version 1.11
                  ↑
              COMMAND.COMのバージョン番号を表す。

 時計機能を装備していないMSXコンピュータの場合、ディスプレイには続いて次のように表示されます。

Current date is Sun 84-01-01
Enter new date:■
               ↑
               これがカーソル

 ここで、日付を入力して下さい。入力を間違えたときは、BS(バックスペース)キーを押してカーソルをその場所まで戻し、入力しなおします。

Enter New date:85-9-2

A>

 時計機能を装備したMSXコンピュータは、内蔵した時計の時刻と日付が自動的に参照されるので、日付の入力は必要ありません。

MSX-DOS version 1.03
Copyright 1984 by Microsoft

COMMAND version 1.11
A>

 MSX-DOSが起動すると、ディスプレイに「A>」という記号が表示されます。この記号はMSX-DOSの入力催促記号(プロンプト)で、これが表示されているときはコンピュータが入力を受け付ける状態であることを示します。この状態を「MSX-DOSがコマンド入力待ち状態にある」といい、プロンプトに続くコマンド行に様々なコマンド名を入力し、プログラムを実行することができます。
 プロンプトにある「A」は、現在MSX−DOSが優先して使用するドライブ(デフォルトドライブ)の名前で、「B>」ならばデフォルトドライブがドライブBであることを示します。ここで「d:」(dはドライブ名)を入力すると、デフォルトドライブを変更することができます。この結果プロンプトのドライブ名は指定したものに変わります。たとえばデフォルトドライブをAからBに変更するとき、次のように入力します。

A>B:
B>

 なお、MSX-DOSを起動した時点でのプロンプトは「A>」です。

2.1.3 MSX-DOSの終了

 MSX-DOSでの処理が終わったら、次のような手順でMSX-DOSを終了します。

  1. 最後に実行したコマンドまたはプログラムの処理が終了していることを確認します。処理が終わっていれば、ディスプレイにはプロンプトが表示されています。
  2. ディスクドライブからディスクを取り外します。
  3. MSXコンピュータの電源を切ります。
  4. 各周辺機器の電源を切ります。

 最後に実行したコマンドまたはプログラムの処理が終了していないうちにコンピュータの電源を切ると、ディスクに記録されていたファイルが正しく読みだせなくなってしまう可能性があるので注意して下さい。

2.1.4 ハードウェア構成による使用上の違い

 MSX-DOSは、時計機能の有無、MSX1かそれともMSX2(MSX2+)か、ディスクドライブが何台接続されているかなど、コンピュータを構成するハードウェアの違いによってその使用法が異なります。

1.時計機能
 時計機能はMSX1ではオプションで、MSX2とMSX2+では標準機能です。
 時計機能を装備したMSXは、日付、時刻を自動的に更新し、閏年、月の大小、曜日なども管理します。また、MSX-DOSの起動時には、時計が持つ日付と時刻が自動的に参照されるので、日付の入力は必要ありません。ただし、長時間電源を切ったままにしておくと時計の動作が停まり、正しい時刻と日付を示さなくなることがあります。そのようなときは、「date」コマンド、「time」コマンドを使って、正しい日付と時刻に修正して下さい。なお「date」コマンド、「time」コマンドについてはコマンドの解説を参照して下さい。

2.MSXとMSX2(MSX2+)
 MSXとMSX2では、ディスプレイの最大表示文字幅が異なり、MSXでは40文字、MSX2とMSX2+では80文字となっています。なお、MSX2とMSX2+の機能として、文字の表示幅、画面の前景色、背景色、周辺色、ビープ音などを、起動時に自動的に設定することができます。これらは、BASICで好みの色に設定し「SET SCREEN」命令、および「SET BEEP」命令でバッテリバックアップしたSRAM内に記憶され、起動時にはこの値が用いられます。

3. 仮想ドライブ機能
 MSX-DOSは、1台のドライブでも使用できます。これはMSX-DOSが、1台のドライブをあたかも2台のドライブが接続されているかのごとく動作させる、仮想ドライブ機能(2ドライブシミュレータ)を備えているためです。
 表3.1に、内蔵型のディスクを持たず、ディスクインターフェイスカートリッジが1台の時の仮想ドライブ機能の有無を示します。

表3.1 仮想ドライブ機能の有無

ディスクインターフェイスカートリッジドライブ数仮想ドライブ機能
1台1台
1台2台

■仮想ドライブ機能が動作しているときの操作方法

 MSX-DOSは、ディスクインターフェイスカートリッジ1つに1台のドライブしかつながっていないときに、標準で仮想ドライブ機能が動作します。
 MSX-DOSは仮想ドライブ(ここではドライブB)を扱うコマンドを受け取ると、そのコマンドの処理中に次のようなメッセージを表示します。

Insert diskette for drive B:
and strike a key when ready

(ドライブB用のディスクを入れ、どれかキーを押して下さい)

 ここで、その処理に必要なもう一枚のフロッピーディスクと入れ換えます。すると、MSX-DOSはそのフロッピーディスクをもう1台の仮想ドライブとみなして処理を行います。その処理が終わって、元のディスクに対する処理が必要になると、再びディスプレイに次のようなメッセージを表示します。

Insert diskette for drive A:
and strike a key when ready

(ドライブA用のディスクを入れ、どれかキーを押して下さい)

 このメッセージにしたがって処理を行えば、2台のドライブを必要とする処理を、1台のドライブで行うことができます。このように仮想ドライブ機能は、MSX-DOSを1台のドライブで運用する上で、重要な役割を果たしています。

■仮想ドライブ機能を動作させないとき

 2台のディスクインターフェイスカートリッジを用いて、それぞれに1台のドライブを接続したときなど、仮想ドライブ機能を用いるとかえって操作が複雑になることがあります。そのときには、起動時にビープ音が鳴るまで[CTRL]キーを押し続けて、仮想ドライブ機能を動作させないようにして下さい。

4. 複数のドライブを用いる時のドライブ番号
 図3.1〜3.6に、複数のドライブを接続するとき、どのようにドライブ番号が割り当てられるかを示します。カッコ内は仮想ドライブ機能が動作している場合です。起動後のドライブ番号がこの解説と異なるときは、使用しているハードウェアのマニュアルを参照して下さい。

画像ファイルが存在しません。
図3.1 2台のディスクインターフェイスにドライブを1台ずつ接続

画像ファイルが存在しません。
図3.2 内蔵型ドライブ1台+ディスクインターフェイスにドライブを1台接続

画像ファイルが存在しません。
図3.3 1台のディスクインターフェイスに外付け型ドライブを2台接続

画像ファイルが存在しません。
図3.4 内蔵型ドライブ1台+増設ケーブルによりに外付け型ドライブを1台接続

画像ファイルが存在しません。
図3.5 内蔵型ドライブ1台+ディスクインターフェイスに外付け型ドライブを2台接続

画像ファイルが存在しません。
図3.6 2台の内蔵型ドライブ

  2.2 ファイル

2.2.1 ファイルの概要

 コンピュータは、外部記憶装置としてフロッピーディスクドライブ、クイックディスク、データレコーダ(テープレコーダ)や紙テープ装置などを使用します。これらの外部記憶装置に記録されたプログラムやデータを総称してファイルといいます。
 DOSは、このようなファイルの登録、既存のファイルへの追加、修正、ファイルの削除などの処理を行う機能を持っています。このような機能(それを実現するプログラム)を、ファイルマネージメントシステム、または単にファイルシステムと呼んでいます。
 DOSが扱うファイルとは、普通ディスクに記録されるディスクファイルです。しかし、MSX-DOSでは、プリンタなどの周辺機器をもファイルとして管理しています。このため、周辺機器を扱うためのプログラムをわざわざ開発する必要がなく、周辺機器の取り扱いが簡単になります。各周辺機器には特殊なファイル名が割り当てられており、このファイル名はディスクファイル名と同様にコマンド行で使用します。

2.2.2 ディスクファイル

 MSX-DOSではディスクファイルの管理を、それぞれのディスクに用意されているFAT(File Allocation Table)とディレクトリ(Directory)を用いて行います。FATとは、ディスクでのファイルの配置状況を記録した地図のようなものです。また、ディレクトリは、ファイル名とそのファイルに関する情報を記録した索引です。DOSを利用するときはこのうちディレクトリにあるファイル名だけを意識していればよく、実際のファイル管理はすべてDOSが行います。
 以下のように「dir」コマンドを用いてディレクトリを見ると、そのディスクにどんなファイルがあり、そのファイルの大きさといつ修正されたか、そしてディスクの残り容量がわかります。

A>dir
MSXDOS   SYS    2432  85-08-23  9:29p
COMMAND  COM    6656  85-09-02 10:10p
       2 files  352256 bytes free
A>

1. ファイル名
 ファイル管理の中心となるものは、そのファイルに付けられたファイル名です。ファイル名は、1〜8文字のファイル名と1〜3文字の拡張子からなっていますが、拡張子は必ずしも必要ではありません。また、ファイル名と拡張子の間はピリオド「.」で区切ります。ファイル名として使用できる文字は次のとおりです。

A〜Z 0〜9 $ & # @ ! % ' ( )
- { } ~ ひらがな カタカナ

 なお、アプリケーションプログラムによっては、ファイル名として一部の文字が使えないことがあります。その時にはA〜Z、0〜9を使用して下さい。
 上記の文字は、ファイル名や拡張子のどの部分にも使うことができます。その際、アルファベットの小文字は、MSX-DOSによって大文字に変換されます。
 拡張子は、ファイルの種類を区別しやすくするために使います。拡張子には、MSX-DOSでその使用が決まっているものや、アプリケーションによっては習慣的に特定の拡張子を用いるものがあります。そのようなときには、必ずその拡張子を使って下さい。

■MSX-DOSでその使用が決まっている拡張子

拡張子ファイルの種類
.BATバッチファイルAUTOEXEC.BAT
.COMコマンドファイルCOMMAND.COM
.SYSシステムファイルMSXDOS.SYS

拡張子ファイルの種類
.ASM アセンブラ
.BAK バックアップファイル
.BAS ベーシックプログラムファイル
.C Cソースファイル
.COB COBOLソースファイル
.CRF クロスリファレンスファイル
.DAT データファイル
.FIF FORTHソースファイル
.FOR FORTRANソースファイル
.HEX インテルHEXオブジェクトファイル
.LIB アセンブラライブラリファイル
.M80 アセンブラライブラリファイル
.MAC アセンブラソースファイル
.PAS PASCALソースファイル
.PLI PL/Iソースファイル
.PRN リスティングファイル
.REL リロケータブルオブジェクトファイル

 なお、アプリケーションによっては、使う拡張子が決まっているものがあります。

2.ワイルドカード文字
 ワイルドカード文字とは、ファイル名を指定する際に、任意の1字または文字列に対して、その文字または文字列の代わりに用いることができる省略記号のことです。ワイルドカード文字を用いると、ファイルを指定する際にいくつかのファイルをまとめて指定することができます。ワイルドカード文字列には、任意の1時に対応する「?」(クエスチョンマーク)と、任意の文字列に対応する「*」(アスタリスク)の2種類があります。
 「dir」コマンドを例に、ワイルドカード文字の使い方を解説します。「dir」コマンドにワイルドカード文字を用いれば、限定されたファイルについての情報を表示させることができます。
 ここでは、ドライブAに次のようなディスクが入っていたとして述べます。

A>dir
ABCDE    EXT     1664 85-07-17  9:18a
ABXDE    EXT      256 85-07-26  6:56p
ABYDE    EXT     1280 85-07-31  3:38p
ABCZDE   COM     9984 85-08-09 12:08p
XYZ      COM     8320 85-08-25  3:39a
       5 files  337920 bytes free
A>

■「?」(クエスチョンマーク)

 「dir」のパラメータに「ab?de.ext」というファイル名を指定したとします。この場合、「dir」は以下に示すようにファイル名外全体で5文字でABで始まりDEで終わり、拡張子が「.EXT」のすべてのファイルを表示します。

A>dir ab?de.ext
ABCDE    EXT     1664 85-07-17  9:18a
ABXDE    EXT      256 85-07-26  6:56p
ABYDE    EXT     1280 85-07-31  3:38p
       3 files  337920 bytes free
A>

 なお、「?」は、拡張子の中でも同様に使うことができます。

■「*」(アスタリスク)

 ファイルめいまたは拡張子の中に「*」があると、「*」はその位置以降の文字列を「?」に置き換えられます。つまり、「*」は連続した「?」の略号と同じです。次の2つのコマンドは全く同じ意味で、そのディスクに記録されているすべてのファイルを表示します。

A>dir *.*
A>dir ????????.???

 次のコマンドは、拡張子が「.COM」のすべてのファイルを表示します。

A>dir *.com                                  ←「dir ????????.com」と同じ
ABCZDE   COM     9984 85-08-09 12:08p
XYZ      COM     8320 85-08-25  3:39a
       2 files  337930 bytes free
A>

 次のコマンドは、ファイル名がABCで始まるすべてのファイルを表示します。

A>dir abc*.*                                  ←「dir abc?????.???」と同じ
ABCDE    EXT     1664 85-07-17  9:18a
ABCZDE   COM     9984 85-08-09 12:08p
       2 files  337930 bytes free
A>

3.ドライブ指定
 MSX-DOSはファイルをディスクドライブごとに管理しています。そのため、違うドライうに同じ名前のファイルがあっても、問題はありません。
 MSX-DOSが管理するドライブの数は最大8台で、それぞれA、B、C〜Hのアルファベットのドライブ名を持っています。ドライブを指定するときには、この文字の後ろに「:」を付け、「d:」というように指定します。この文字とコロンの組み合わせを、「ドライブ指定」といいます。
 また、ドライブ指定、ファイル名、拡張子をこの順で続けたものを、特に「ファイルスペック」といいます。ファイルスペックの書式は以下のとおりです。

[<ドライブ指定>]<ファイル名>[.<拡張子>]
A:BCDEFGHI.BAS

 なお、デフォルトドライブにあるファイルを指定するときは、ドライブ指定は省略することができます。

2.2.3 特殊なファイル名

 MSX-DOSでは周辺機器に特殊なファイル名を割り当て、各周辺機器をディスクファイルと同じようにコマンド行で取り扱えるようにしています。この特殊なファイル名を「デバイスファイル名」といいます。デバイスファイル名には次のものがあります。

デバイスファイル名機能
AUXデータレコーダなどの補助入出力装置との入出力や他のコンピュータとの通史のために用意してあります。起動時は、NULと同じ機能に設定してあります。
CONキーボードからの入力や、ディスプレイへ出力するときに使用します。
NULコマンドがその構文上、入出力のファイル名を要求していても、特にファイルを作らないときに使用します。
PRNプリンタに出力するときに使用します。LSTもこれと同じです。

 デバイスファイル名を用いた例をいかに2つあげます。

A>copy con autoexec.bat

キーボードからの入力を「autoexec.bat」というファイル名でデフォルトドライブ上に作ります。

A>copy test.mac prn

「test.mac」というファイルの内容をプリンタに打ち出します。

 なお、デバイスファイルを使用するとき、たとえドライブ指定や拡張子が指定されていても、デバイスファイル名が優先します。したがって、CON.LSTはファイルにはなりません。例えば、下のようなコマンドを入力しても、CON.LSTというディスクファイルは作られず、SAMPLE.MACの内容がディスプレイに表示されます。

A>copy sample.mac con.lst

 2.3 コマンドの概要

2.3.1 コマンドとは

1.コマンドの概念
 BASICなどのプログラミング言語では、コマンドは1つのプログラムを構成する部分品でした。しかしMSX-DOSでいうコマンドとは、プログラミング言語のコマンドとは違い、プログラムそのものです。コマンドは、プロンプトに続くコマンド行にその名前を入力することで実行されます。
 MSX-DOSで実際にコマンドの実行を受け持つのはシステムコマンドファイルである「COMMAND.COM」です。すべてのコマンド(プログラム)は、「COMMAND.COM」が解析し、実行されます。

2.コマンドの書式
 コマンドは、コマンド名とそれに続くパラメータからなっています。コマンドによって、パラメータが必要なものとそうでないものがあります。また、コマンド名とパラメータ、パラメータ相互の間は、スペース、タブまたはカンマによって区切ります。コマンドの書式は以下のようになります。

A>[<ドライブ指定>]<コマンド名>[ <パラメータ>]・・・

 これは、<ドライブ指定>で指定されたドライブにある<コマンド名>というコマンドを実行せよ、ということです。

2.3.2 コマンドの種類

 コマンドには、MSX-DOSの内部にあらかじめ用意されている内部コマンドと、ディスクにファイルとして記録されていて、コマンド名が入力されるたびにめっもりに読み込まれて実行される外部コマンド、MSX-DOSのバッチ処理機能により自動的に複数の内部コマンド、外部コマンドを実行するバッチコマンドの3種類があります。

1.内部コマンド
 MSX-DOSには、以下の13種類の内部コマンドがあります。それぞれのコマンドの詳細については、「2.4 コマンド一覧」を参照して下さい。

BASIC     DIR       REN     VERIFY
COPY      FORMAT    REM
DATE      MODE      TIME
DEL       PAUSE     TYPE

2.外部コマンド
 アセンブラやコンパイラなどを利用して作成した「.COM」という拡張子を持つファイルが外部コマンドです。システムディスクの「COMMAND.COM」もこれにあたります。
 外部コマンドはファイル名をコマンド行から入力すると、ディスクから読み込まれて実行されます。なお、コマンドファイルがデフォルトドライブにないときは、コマンド名にドライブ指定をつけるか、デフォルトドライブをコマンドファイルがあるドライブに変更しなければなりません。
 以下に外部コマンドとデフォルトドライブの関係を示します。例えば、ドライブA、Bに、それぞれ次のようなディスクが入ってるとします。

A>dir
TEST     COM      384 85-07-25  6:16p
NEWDISK  BAT       78 85-08-30 10:02p
       2 files   360448 bytes free
A>dir b:
CAT      COM     8320 85-08-20  3:03p
       1 files   353280 bytes free
A>test                                      ←「test」を入力

TESTというコマンド(プログラム)を実行

A>cat                                       ←「cat」を入力
Bad command or file name                    ←CAT.COMがデフォルトドライブである
                                              ドライブA上になかったので、エラー
                                              メッセージが表示された。
A>b:cat

CATを実行

A>b:                                        ←デフォルトドライブをドライブBに変更
b>cat                                       ←「cat」を入力

CATを実行

B>

3.バッチコマンド
 バッチコマンドとは、拡張子が「.BAT」であるバッチファイルに記録した一覧のコマンドで、バッチファイル名をコマンド行から入力すれば、記録されているコマンドが次々と実行されます。バッチコマンドを利用することで、個々のコマンドをいちいち入力することなく、一連の処理を自動的に行うことができます。このため、アセンブルやコンパイルなど、同じコマンドを使って何回も処理を行うときには、非常に便利な機能です。
 バッチファイルがデフォルトドライブにないとき、バッチファイル名の前にドライブ指定をつけるか、デフォルトドライブを変更しなければなりません。これは、外部コマンドのときと同じです。
 バッチファイル「NEWDISK.BAT」が次のような内容であるとします。ファイルの内容をディスプレイに表示させるには、「type」コマンドを使います。

A>type newdisk.bat
rem This is file NEWDISK.BAT
pause Insert new disk in drive b:
format
dir b:

A>

 このバッチファイル名を入力すれば、バッチファイルの内容が次々と実行されます。

A>newdisk
A>rem This is file NEWDISK.BAT
A>pause Insert disk in drive B:
Strike a key when ready                 ←ドライブBに新しいディスクを入れたら
                                          どれかキーを押す
A>format
Drive name?(A,B) b                      ←ドライブBのディスクをフォーマット
Strike a key when ready                 ←どれかキーを押す
Format conplete                         ←フォーマットが終了すると表示される

A>dir b:
File not found                          ←ドライブBのディスクにはファイルがない
A>

 2.4 コマンド一覧

 ここではMSX-DOSの内部コマンドについて解説します。コマンドはアルファベット順になっています。

コマンド名 機能ページ
BASIC Disk BASICに移行します。 355
COPY ファイルコピーまたは連結します。 356
DATE 日付を表示、変更します。 360
DEL(ERASE) ファイルを削除します。 362
DIR ディレクトリを表示します。 363
FORMAT ディスクを初期化します。 364
MODE 文字表示幅を設定します。 366
PAUSE バッチコマンドの実行を一時停止します。 367
REM バッチファイルにコメントを書き込みます。 368
REN(RENAME) ファイル名を変更します。 368(369)
TIME 時刻を表示、変更します。 369
TYPE ファイルの内容を表示します。 370
VERIFY 書き込みの際の検査の有無を設定します。 371
BASIC
機能

Disk BASICを起動します。

書式

BASIC [<ファイルスペック>]

解説

MSX-DOSが起動されている状態からDisk BASICを起動したいときは、「basic」コマンドを用います。<ファイルスペック>によってDisk BASICのプログラムを指定すると、Disk BASICを起動した後、そのプログラムを読み込んで実行します。
Disk BASICからMSX-DOSへ移行するときには「_system(またはcall system)」命令を実行します。

Disk BASICを起動し、アスキーセーブされたBASICプログラムの「FUNCKEYS.INI」を実行します。このプログラムは、Disk BASICでファンクションキーを設定して、再びMSX-DOSに戻るものです。

A>type funckeys.ini
100 KEY 1,"dir"
110 KEY 2,"ren"
120 KEY 3,"copy"
130 KEY 4,"del"
140 KEY 5,"type"
150 KEY 6,"time"+CHR$(13)
160 KEY 7,"date"+CHR$(13)
170 KEY 8,"format"+CHR$(13)
180 KEY 9,"verify"
190 KEY 10,"basic"
200 CLS:CALL SYSTEM

A>basic funckeys.ini
注意

MSX-DOSとDisk BASICではメモリ構成が異なり、「basic」コマンドの実行によってメモリが切り換えられます。このため、メモリを介してMSX-DOSとDisk BASICとの間でデータをやりとりすることはできません。

COPY
機能

ファイルを複写(コピー)、または連結(付加)します。

書式

COPY [/A|/B] <ファイルスペック1>[/A|/B] [<ファイルスペック2>[/A|/B]]

書式

COPY [/A|/B] <ファイルスペック 1>[/A|/B] <ファイルスペック 2>[/A|/B][…+<ファイルスペック n>[/A|/B]] [<ファイルスペック>[/A|/B]]

解説

<ファイルスペック>の指定にはワイルドカード文字を使うことができます。普通、「copy」コマンドは、ファイルを複写するために使用します。

■同じディスクへのファイルの複写

以下は、「MSXDOS.SYS」というファイルを「MSXDOS.BAK」というファイル名で同じディスクに複写するときのコマンド行の例です。

A>copy msxdos.sys msxdos.bak

ここで<ファイルスペック1>と<ファイルスペック2>は、必ず違うファイル名でなければなりません。同じファイル名を指定すると、「copy」コマンドは中断され(ファイルをそれ自身にコピーすることは許されません)、次のようなエラーメッセージが表示されます。

A>copy msxdos.sys msxdos.sys
File cannot be copied onto itself
0 files copied
A>

■違うディスへのファイルの複写

このとき、<ファイルスペック2>には4つの形があります。

1.省略されたとき
コピーはデフォルトドライブに対して行われ、コピー後のファイルには<ファイルスペック1>と同じ名前が付けられます。次の例では、ドライブBの「msxdos.sys」がデフォルトドライブであるドライブAにコピーされます。

A>copy b:msxdos.sys

<ファイルスペック1>がデフォルトドライブ上のもので、<ファイルスペック2>が省略されていると、「copy」コマンドは中断され(ファイルをそれ自身にコピーすることは許されません)、次のようなエラーメッセージが表示されます。

A>copy msxdos.sys
File cannot be copied onto itself
0 files copied
A>

2.ドライブ指定のみのとき
指定されたドライブに同じ名前でコピーします。

A>copy a:msxdos.sys b:

3.ファイル名だけのとき
指定されたファイル名でデフォルトドライブにコピーします。

A>copy b:msxdos.sys msxdos.bak

'''4.完全なファイルスペックを指定したとき
指定されたドライブへ指定された名前でファイルをコピーします。

A>copy msxdos.sys b:msxdos.sys

■「copy」コマンドのスイッチ

/Aスイッチと/Bスイッチでコピーモードを指定します。

/A アスキーモード(Ascii mode)の意味で、処理しているファイルの中にエンドオブファイル文字(EOF、ファイルの最後に付けられる)があると、そこでファイルが終わっているとみなして処理を終了します。
/B バイナリモード(Binary mode)の意味で、EOFがあっても処理を続けます。

<ファイルスペック>にスイッチ</A>または</B>がついているとき、そのスイッチは直前の<ファイルスペック>から次のスイッチが指定されるまで有効です。/Aが指定されている間に読み取られるファイルは、EOF以降がコピーされません。
コピー先のファイル名に付けられるスイッチは、EOFがファイルの終わりに置かれるかどうかを決定します。/Aスイッチが指定されていると、ファイルの読み書きではEOFが1つだけつけられます。したがって、アスキーファイルを

A>copy ab.mac/B cd.mac/A

というコマンドでコピーすると、

  • もとのファイルのEOFは/Bスイッチのため除去されず、
  • コピー先のファイルの/Aスイッチにより余分なEOFが付加されるので、結果として2つのEOFが付いたファイルができることになります。

次はファイルを連結するときにスイッチが付いた例で、実行ファイル「PROG.COM」に、アスキーファイルである定数データ「ERRS.TXT」を連結するときのものです。結果として、必要なのがバイナリファイルとすると、終わりのEOFは必要ないのでスイッチをこのように用います。

A>copy prog.com/b+errs.txt/a newprog.com/b

スイッチを指定しないで複写すると、バイナリモードでコピーされます。

A>copy /a ab.txt cd.txt

このとき、「AB.TXT」の途中にEOFが含まれていると、その時点でコピーは終了するので、「CD.TXT」の大きさは「AB.TXT」より小さくなることがあります。なお、このとき「CD.TXT」には、EOFが最後の文字としてついています。

■ファイルの連結

「copy」コマンドではファイルを連結することもできます。連結は「copy」コマンドのパラメータとして<ファイルスペック>を「⁺」でつなげて指定します。
以下の例では、「AB.TXT」「CD.TXT」「EF.TXT」を連結し、その結果を「GH.CRP」という名前でドライブAに書き込みます。
連結は、通常アスキーファイルで行います。バイナリファイルを連結するときは、ファイルの中にEOFが含まれていると、その時点でそのファイルのコピーを打ち切り、次のファイルを続けて連結コピーします。そのため、バイナリファイルを連結するときは/Bスイッチによりバイナリモードに切り換えて行います。

A>copy ab.txt+cd.txt+ef.txt gh.txt

以下の例では、「AB.COM」に「CD.COM」を連結し、「EF.COM」というファイルを作ります。

A>copy /B ab.com+cd.com ef.com

次の例は、ドライブBにある「TEST1.TXT」に、デフォルトドライブにある「TEST2.TXT」を付加するときのコマンド行です。

A>copy b:test1.txt+test2.txt b:test1.txt

ただし、もとのになるファイルと付加するファイルが双方ともデフォルトドライブ上にあるときは、最後のパラメータを省略することができます。

■ワイルドカード文字の使用例

1.複写(コピー)
ワイルドカード文字を使用すれば、ディスクのバックアップや特定のファイル名または拡張子を持つファイルのみをコピーすることができます。
次の例では、デフォルトドライブであるドライブAのすべてのファイルをドライブBにコピーします。

A>copy *.* b:

次の例では、デフォルトドライブにある拡張子が「.COM」であるファイルのすべてを、ドライブBにコピーします。

A>copy *.com b:

次の例では、ドライブBにあるファイル名が3文字以下であるファイルのすべてを、デフォルトドライブ(ドライブA)にコピーします。

A>copy b:???.*

'''2.連結(付加)
ワイルドカード文字を利用すれば、特定のファイル名または拡張子を持つファイルをすべて連結し、1つのファイルを作るなどの処理ができます。
次の例では、拡張子が「.LST」であるすべてのファイルを連結して、「CONBIN.PRN」という名前のファイルを作ります。

A>copy *.lst conbin.prn

また、以下のようにいくつかのファイルを個々に連結したり、または1つのファイルに連結したりすることもできます。例えば、ドライブAに次のようなファイルがあるとします。

A>dir
FILE1    LST   ・・・・・・・・・
ABCDE    LST   ・・・・・・・・・
FILE1    REF   ・・・・・・・・・
ABCDE    REF   ・・・・・・・・・
         ・
         ・

このとき、次のようなコマンドを入力すると、「FILE1.LST」と「FILE1.REF」がれんけつされて「FILE1.PRN」という名前のファイルが作成され、「ABCDE.LST」と「ABCDE.REF」が連結されて「ABCDE.PRN」という名前のファイルができます。

A>copy *.lst+*.ref *.prn
FILE1    LST
ABCDE    LST
       2 files copied
A>dir
FILE1    LST   ・・・・・・・・・
ABCDE    LST   ・・・・・・・・・
FILE1    REF   ・・・・・・・・・
ABCDE    REF   ・・・・・・・・・
FILE1    PRN   ・・・・・・・・・
ABCDE    PRN   ・・・・・・・・・
         ・
         ・

次の例では、「*.LST」に該当するすべてのファイルを連結してから、「*.REF」に該当する全ファイルを連結し、「CONBIN.PRN」というファイルを作ります。

A>copy *.lst+*.ref conbin
注意

連結した結果作られるファイル名として、すでにディスクにあるファイルの名前を指定すると、そのファイルに連結するファイルの内容が重ね書きされます。結果としてもとのファイルの内容は書き変えられてしまうので、MSX-DOSは警告メッセージを表示します。

A>copy *.lst all.lst
Content of distination lost before copy
          1  file copied
A>

 次の例では、拡張子が「.lst」である全ファイルを、「ALL.PRN」というファイルに付加します。

A>copy all.prn+*.lst
DATE
機能

日付の表示、変更を行います。

書式

DATE [<年>-<月>-<日>]

解説

パラメータなしで入力したときは次のように表示されます。

A>date
Current date is www yy-mm-dd
Enter new date:

www、yy、mm、ddは内蔵の時計が示す日付をもとに表示されます。

www 曜日を示します。曜日は日付から自動的に計算されます。表示されるのは次のうちの1つです。
Sun、Mon、Tue、Wed、Thu、Fri、Sat
yy 西暦年を示します。下2桁が表示されます。
mm 月を示します。2桁の数字です。
dd 日を示します。2桁の数字です。

日付を変更する必要がないときは、ここでリターンキーを押します。
パラメータとして日杖を入力すると、そのまま新しい日付がセットされます。このときは、メッセージは表示されません。

A>date 85-9-2

日付の入力には数字だけが使用できます。文字は使えません。指定できるパラメータの範囲は次のとおりです。

1980〜2079
または80〜99(1980〜1999と解釈される)
または00〜79(2000〜2079と解釈される)
1〜12(01〜12)
1〜31(01〜31)

年月日の入力は、ハイフン(-)かスラッシュ(/)で区切って下さい。
日付は時刻とともにMSX-DOSが管理するので、時刻が24時になると自動的に更新されます。また、月の大小や閏年もチェックされ、正しく変更されます。ただし、時計機能がないMSXのときは更新はされません。
パラメータや区切り記号が誤っているときは、次のメッセージが表示されるので、もう一度正しく入力して下さい。

Invalid date ←日付の指定が違います
Enter new date ←日付を入力して下さい

注意

本体のROM BIOSが日本版以外のものでは、日付の表示と入力の形式が次のように変わります。

インターナショナル版 mm-dd-yyyy
ヨーロッパ版 dd-mm-yyyy
DEL
機能

<ファイルスペック>で指定されたファイルを削除します。

書式

DEL <ファイルスペック>

解説

<ファイルスペック>で指定されたファイルを削除します。
次の例は、デフォルトドライブからファイル「TEST.MAC」を削除します。

A>del test.mac

「del」コマンドでは、削除するファイうrの指定にワイルドカード文字が使用できます。例えば、拡張子が「.TXT」のファイうrをすべて削除するときは、次のように入力します。

A>del *.txt

ワイルドカード文字の詳細については、「2.2.1 ファイルの概要」を参照して下さい。
ファイルの指定に「*.*」を用いると、ディスクにあるすべてのファイルを削除するとことになります。MSX-DOSは実行してもよいかどうかを確認するため、次のようなメッセージを表示します。全ファイルを削除してもよいときは、ここで「y」を入力します。

A>del *.*
Are you sure (Y/N)?

なお、「del」と同等の機能を持つコマンドとして「erase」があります。

DIR
機能

ディスクに記録されているファイルについての情報を表示します。

書式

DIR [<ファイルスペック>][/P][/W]
DIR [/P][/W] [<ファイルスペック>]

解説

「dir」コマンドはディレクトリに記録されているファイルの名前、大きさ、最後に修正された日付、時刻および表示したファイル数、ディスクの残り容量などの情報をディスプレイに表示します。
「dir」コマンドでは「/P」と「/W」の2つのスイッチが使用できます。

/P ページモードを意味しディスプレイいっぱいに表示されたところで表示を中断します。表示を再開するには、任意のキーを押します。
/W ワイドディスプレイモードを意味し、ファイル名のみを1行に表示できるだけ表示します。1行の表示幅は「mode」コマンドで設定した値によります。

「dir」コマンドにパラメータがないとき、デフォルトドライブ上にあるディスクのディレクトリの内容を表示します。デフォルトドライブAにあるディスクのディレクトリの内容を表示させるには、次のように入力します。

A>dir

パラメータとしてドライブ指定のみがあるとき、指定されたドライブにあるディスクのディレクトリの内容を表示させるには、次のように入力します。

A>dir b:

パラメータとして拡張子なしのファイル名だけがあるとき(ドライブ指定はあってもよい)、そのドライブ上にあるディスクのディレクトリを検索して、指定されたファイル名を持つすべてのファイルの情報を表示します。次の例では、ドライブBにあり、ファイル名に「TEST1」を持つすべてのファイルの情報を表示します。

A>dir b:test1
TEST1    ASM     ・・・・・・・・・
TEST1    REL     ・・・・・・・・・
TEST1    COM     ・・・・・・・・・
       3 files   ・・・・・・・・・
A>

完全な<ファイルスペック>を指定したとき、指定されたドライブにあるディスクのディレクトリからそのファイルを検索し、その情報を表示します。

A>dir b:test1.asm
TEST1    ASM     ・・・・・・・・・
       1 file    ・・・・・・・・・
A>

ファイル名のパラメータとしてワイルドカード文字を使用することができます。ワイルドカード文字については、「2.2.1 ファイルの概要」を参照して下さい。なお、「dir」コマンドの呼び出しで同等の動作をするものを以下に上げます。

コマンド 同等のコマンド形式
dir dir *.*
dir file dir file.*
dir .ext dir *.ext
dir dir *.
注意

表示幅が36桁未満のときは、情報の一部が表示されないことがあります。このようなときは「mode」コマンドを用いて、表示幅を36桁以上に設定してください。

ERASE
機能

DELコマンドと同じです。DELコマンドを参照して下さい。

FORMAT
機能

新しいディスクを使用できるように初期化します。

書式

FORMAT

解説

「format」コマンドの処理はメッセージに従って対話形式で進められます。標準的なメッセージは以下のとおりです。

■ドライブが1DDタイプのとき

A>format
Drive name? (A,B)            ←フォーマットするディスクが入っているドライブ名
                               を入力
Strike a key when ready      ←どれかキーを押す
Format complate
A>

■ドライブが2DDタイプのとき

A>format
Drive name? (A,B)            ←ドライブ名を入力
1 - 1 side, double track
2 - 2 sides, double track
?                            ←数字を入力する(標準フォーマットはこの例では)
Strike a key when ready      ←どれかキーを押す
Format complate
A>

対話を中断するときは、[CTRL]+[C]を入力します。このとき、ディスプレイには次のようなメッセージが表示されます。

Aborted                      ←中止した
注意

MSX-DOSで使用できるディスクのフォーマット(様式)を表3.2にあげます。

フォーマット 1DD 2DD 1DD 2DD
記録可能な総ファイル数 112 112 112 112
FATが占めるセクタ数 2 3 1 2
1トラックのセクタ数 9 9 8 8
サイド数 1 2 1 2
サイドあたりのトラック数 80 80 80 80
1セクタあたりのバイト数 512 512 512 512
使用可能なセクタ数 708 1426 530 1268
使用可能な総バイト数 362496730112 322560 649216

 いったんフォーマットが始まると中断することはできません。フォーマット中にエラーが発生すると、その内容によって次のようなメッセージが表示されます。

Write protected
Not ready
Disk error

 エラーの内容は、「2.7 MSX-DOS メッセージ一覧」を参照して下さい。
 3.5インチ型のMSX用ディスクドライブ装置では、すべての機種で片面80トラック(1DD)フォーマットを読み書きできるようになっています。他の装置で使う可能性のあるディスクをフォーマットするときは、このフォーマットを選ぶことが望ましいでしょう。

MODE
機能

ディスプレイの表示文字幅を設定します。

書式

MODE<表示文字幅>

解説

設定できる表示文字幅は、MSX1では1〜40です。41以上の値を設定するとエラーになります。MSX2、MSX2+のときは1〜80です。設定した値が1〜32の時はスクリーンモード1(BASICのSCREEN 1)に、33〜40(MSX2、MSX2+では33〜80)の時はスクリーンモード0(BASICのSCREEN 0)に設定されます。
「mode」コマンドを実行するとディスプレイは消去されます。

PAUSE
機能

バッチコマンドの実行を一時停止します。

書式

PAUSE [<コマンド>]

解説

バッチコマンドの実行を一時停止させるときに使います。バッチファイルにこのコマンドを書き込んでおくと、バッチコマンドの実行が「pause」のところで一時停止します。このときディスプレイには以下のようなメッセージが表示されます。

Strike any key when ready
(準備ができたらどれかキーを押して下さい)

バッチコマンドの実行は、[CTRL]+[C]以外の任意のキーを押すと再開されます。
[CTRL]+[C]を入力すると、続いて次のようなメッセージが表示されます。

Terminate batch file (Y/N)?
(バッチ処理を中止しますか?)

ここで「Y」を入力するとバッチコマンドの実行は中止され、MSX-DOSコマンド入力待ちに戻ります。「N」を入力したときはバッチコマンドの実行が再開されます。
「pause」コマンドのパラメータにコメントを与えると、それをディスプレイに表示させることができます。例えば、下の例のように、使用者に指示を与えることもできます。

A>newdisk
A>rem This is NEWDISK.BAT
A>pause Insert disk in drive B:
Strike a key when ready
A>format
Drive name? (A, B) b
Strike a key when ready
Format complate

A>
REM
機能

何もしません。ただし結果として、「rem」の後に続くパラメータがコメントとしてディスプレイに表示されます。

書式

REM [<コメント>]

解説

「rem」コマンドは上記の動作以外に、他に何の影響も与えません。「pause」コマンドの例を参照して下さい。

REN
機能

第1パラメータで指定したファイル名1を、第2パラメータのファイル名2に変更します。

書式

REN <ファイル名1> <ファイル名2>
または
RENAME <ファイル名1> <ファイル名2>

解説

デフォルトドライブ以外のファイル名を変更するときは、ファイル名1を指定する際にドライブ指定が必要です。「ren」コマンドはファイル名を変更するものなので、ファイル名2でドライブを指定しても意味を持ちません。また「ren」コマンドでほかのディスクにファイルを移動させることはできません。
「ren」コマンドではワイルドカード文字を使用することができます。このとき、ファイル名1で指定したファイルとファイル名2で指定したファイルとの間で、各文字が1対1に対応して処理されます。例えば次の例では、「.LST」拡張子を持つすべてのファイルの拡張子を「.PRN」にかえます。

A>ren *.lst *.prn

次の例では、ドライブB上のファイルABCDEをBDCBEという名前に変更することになります。

A>ren b:abcde ?d?b?

なお、「rename」は「ren」と同等のコマンドです。

RENAME
機能

RENコマンドと同じです。RENコマンドを参照して下さい。

TIME
機能

時刻の表示、変更を行います。

書式

TIME [<時>[:<分>[:<秒>]]][{A|P}]

解説

パラメータなしで入力したときは次のように表示されます。

A>time
Current time is hh-mm-ss.tt{a|p}
Enter new time:

hh、mm、ss.tt、aまたはpは内蔵の時計が示す時刻です。

hh 1〜12の数字で時を示します。
mm 0〜59の数字で分を示します。
ss.tt ssは0〜59の数字で秒を示します。また、ttは1/100秒を示しますが、表示される数字は「00」です。
aまたはp 午前(a)か午後(p)かを示します。

表示された時刻を変更する必要がないときはここでリターンキーを押します。
パラメータとして時刻を入力すると、メッセージは表示されずにそのまま時刻の変更が行われます。
時刻の乳ry校には数字を使います。「.tt」を入力する必要はありません。また、最後の数字の後に「a」または「p」をつけて、午前(am)と午後(pm)を指定するtことができます。「a」や「p」をつけないと、24時間制で時刻を指定したとみなされます。したがって、次の2つの例では、最初のものは午前10時10分30秒に変更し、次のものは時刻を午後10時10分30秒に変更します。

A>time 10:10:30
A>time 10:10:30p

時刻の入力に使用できるパラメータの範囲は次のとおりです。

0〜23 24時間制で入力したと見なされる
1〜12 aまたはpを省略すると午前と見なされる
0〜59
0〜59

時:分:秒の入力は、コロン(:)で区切ります。パラメータや区切り記号が誤っていると、次のメッセージが表示されるので、もう一度正しく入力して下さい。

Invalid time           ←時刻の指定が違います
Enter new time:        ←時刻を入力して下さい
TYPE
機能

<ファイルスペック>で指定したファイルの内容をディスプレイに表示します。

書式

TYPE <ファイルスペック>

解説

「type」コマンドはアスキーファイルの内容を表示させるために用います。<ファイルスペック>の指定にはワイルドカード文字を使用できますが、ディレクトリを捜して最初に指定に該当したファイルの内容のみを表示します。
バイナリファイルの内容を表示させると、ベルコード、フォームフィードコード、およびエスケープシーケンスを含むコントロールシーケンスがディスプレイに送られ、正しい表示が行われません。
表示させるファイルの名前を捜すには「dir」コマンドを使います。

VERIFY
機能

ディスクに書き込む際に、読み込みチェックをするかどうかを設定します。

書式

VERIFY {ON|OFF}

解説

「verify」コマンドは、書き込みに際してファイルが正しく書き込まれたことを読み出してチェックするかどうかを設定します。「verify」を「on」にすると、ディスクに書き込むごとにチェックを行い、「off」にするとチェックは行いません。
「verify on」のときは書き込みに時間がかかるので、通常は「off」にします。MSX-DOSの起動時には、「verify off」に設定されています。重要なファイルをコピーするとき、たとえばマスターディスクの予備を作るときなどには、「verify on」にするとよいでしょう。
ベリファイ機能はオプションであり、ドライブによってはその機能がないものもあります。