Programming Field

Mode - DOS/コマンドプロンプト コマンド一覧

DOS/コマンドプロンプト上で利用できるデバイスの設定を行います。

構文

このコマンドは、用途によって構文が異なります。

[MS-DOS, Windows 95/98/Meのみ?] LPT1 は PRN と指定することが可能です。

1. デバイス状態の表示

mode[.com] [<device>] [/STATUS]
<device> デバイス名を指定します(CONCOM1LPT1などで、AUXやPRNは指定できません)。/STATUS を指定している場合は <device> が省略可能で、省略するとすべてのデバイスの状態を表示します。
/STATUS <device> で指定したデバイスの状態を表示します。このパラメータは省略可能です。/STATUS は /STA と指定することも出来ます。

2. パラレル(プリンタ)ポートの設定 [MS-DOS, Windows 95/98/Me]

mode[.com] LPTn[:] [COLS=c] [LINES=l] [RETRY=r]
mode[.com] LPTn[:] [c][,[l][,r]]
LPTn[:] パラレルポートのデバイス名を指定します。n は 1、2、3 などが入ります。「:」は指定してもしなくてもかまいません。
COLS=c 1行当たりの文字数を指定します。c に入る数値は 80 か 132 です。このオプションを省略すると 80 と見なされます。
LINES=l 1インチ当たりの行数を指定します。l に入る数値は 6 か 8 です。このオプションを省略すると 6 に設定されます。「LINES=」は省略して数値のみ(「l」)を指定することも出来ます。
RETRY=r

このデバイスへの出力がタイムアウトになったときに行う処理を指定します。r は以下の値を指定します。

効果
Eビジー状態であるポートの状態をチェックした場合、エラーを返します。
Bビジー状態であるポートの状態をチェックした場合、「ビジー」を返します。
Pデバイスが出力を受け付けるまでリトライを継続します。
Rビジー状態であるポートの状態をチェックした場合、「レディ」を返します。
Nリトライを行いません。このオプションを省略した場合はこの値が指定されたものと見なされます。
[c][,[l][,r]] 上記の引数は、コロン「,」で区切って短く指定することも出来ます。この場合、値の順序に意味があるため、コロンは余計に省略することは出来ません。例えば c を省略して l を指定する場合でも、「,6」のように指定する必要があります。

3. パラレル(プリンタ)ポートの、シリアルポートへのリダイレクション

mode[.com] LPTn[:]=COMm[:]
LPTn[:] 出力が行われるパラレルポートのデバイス名を指定します。n は 1、2、3 などが入ります。「:」は指定してもしなくてもかまいません。
COMm[:] 実際の出力先とするシリアルポートのデバイス名を指定します。m は 1、2、3 などが入ります。「:」は指定してもしなくてもかまいません。

4. シリアルポートの設定

mode[.com] COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [RETRY=r]
  [to=on|off] [xon=of|off] [odsr=on|off] [octs=on|off] [dtr=on|off|hs]
  [rts=on|off|hs|tg] [idsr=on|off]
mode[.com] COMm[:] [b[,[p][,[d][,[s][,r]]]]]
COMm[:] シリアルポートのデバイス名を指定します。m は 1、2、3 などが入ります。「:」は指定してもしなくてもかまいません。
BAUD=b

ボーレートを指定します。b には指定する値の最初の 2 桁を指定します。以下はその対応表です。

実際の値[ボー]
11110
15150
30300
60600
121200
242400
484800
969600
1919200

※ 値 19 (19200) は、デバイスによってはサポートされていない可能性があります。

[Windows 95/98/Me/NT 系?/XP 以降] 実際の値を直接指定することも出来ます(9600 など)。この場合、デバイスがサポートしていれば上記の表にない値を指定することもできます(119200 など)。

PARITY=p パリティビットを指定します。p に入る値は N (なし)、E (偶数)、O (奇数)、M (マーク)、S (スペース) のいずれかで、このオプションを省略すると E となります。なお M と S は、デバイスによってはサポートされていない可能性があります。
DATA=d 1文字当たりのビット数を指定します。d に入る数値は 5~8 で、このオプションを省略すると 7 に設定されます。なお 5 と 6 は、デバイスによってはサポートされていない可能性があります。
STOP=s ストップビットのビット数を指定します。s に入る数値は 1、1.5、2 のいずれかで、ボーレートが 110 のときにこのオプションを省略すると 2 に、それ以外のときは 1 に設定されます。なお 1.5 は、デバイスによってはサポートされていない可能性があります。
RETRY=r [MS-DOS, Windows 95/98/Me] このデバイスへの出力がタイムアウトになったときに行う処理を指定します。指定すべき値や、このオプションを省略したときの値は、上記のパラレルポートにおける RETRY の指定と同じです。
to=on|off (無限タイムアウト処理設定)
xon=of|off (データフロー処理におけるxon/xoffプロトコルの設定)
odsr=on|off (DSR(Data Set Ready)を使うハンドシェイクの設定)
octs=on|off (CTS(Clear To Send)を使うハンドシェイクの設定)
dtr=on|off|hs (DTR(Data Terminal Ready)の設定) (※ hs=handshake)
rts=on|off|hs|tg (RTS(Request To Send)の設定) (※ hs=handshake / tg=toggle)
idsr=on|off (DSR検知の設定) [Windows NT 系?/XP 以降] デバイスの追加設定をそれぞれ行います。
[b[,[p][,[d][,[s][,r]]]]] 上記の引数は、コロン「,」で区切って短く指定することも出来ます。この場合、値の順序に意味があるため、コロンは余計に省略することは出来ません。また、ボーレートは必ず指定する必要があります。(省略するとエラー)

5. コードページ設定

mode[.com] <device> CODEPAGE PREPARE=((yyy [yyy2 ...]) <file>)
mode[.com] <device> CODEPAGE SELECT=yyy
mode[.com] <device> CODEPAGE REFRESH
mode[.com] <device> CODEPAGE [/STATUS]
<device>

デバイス名を指定します(CON、COM1、LPT など)。([MS-DOS, Windows 95/98/Me] CON はコードページ変更に対応していません。)

[Windows NT 系?/XP 以降] <device> には CON のみ指定できます。

CODEPAGE コードページに関する設定には必ず「CODEPAGE」が入ります。「CODEPAGE」は「CP」と省略可能です。
PREPARE=((yyy [yyy2 ...]) <file>)

[MS-DOS, Windows 95/98/Me] コードページが使用できるようにファイルを読み込んで準備を行います。yyy にはコードページの番号が入ります。<file> にはコードページのデータが含まれるファイル名(通常は拡張子が CPI)を指定します。指定する際は、括弧「( )」が必要です。

コードページを複数指定する場合は、yyy2 のようにスペースで区切って指定します。

「PREPARE」は「PREP」と省略可能です。

SELECT=yyy

yyy に指定したコードページに変更します。

[MS-DOS, Windows 95/98/Me] yyy は PREPARE で準備したものしか指定できません。「SELECT」は「SEL」と省略可能です。

REFRESH [MS-DOS, Windows 95/98/Me] PREPARE で読み込んだデータが破損している場合などに、データを再読み込みする際に使用します。「REFRESH」は「REF」と省略可能です。
/STATUS <device> で指定したデバイスのコードページに関する状態を表示します。このパラメータは省略可能です。/STATUS は /STA と指定することも出来ます。

6. 画面設定/キーボード速度設定

mode[.com] <display>
mode[.com] [<display>],L|R[,T]
mode[.com] CON[:] [COLS=c] [LINES=l]
mode[.com] CON[:] [RATE=r] [DELAY=d]
<display>

[MS-DOS, Windows 95/98/Me] ディスプレイアダプタを指定します。以下の値の中から指定します。

意味
40 または 801行当たりの文字数を 40 または 80 にします。
BW40 または BW80カラー表示が無効のカラーグラフィックスアダプタ(CGA)を指定し、1行当たりの文字数を 40 または 80 にします。
CO40 または CO80カラー表示が有効のカラーディスプレイを指定し、1行当たりの文字数を 40 または 80 にします。
MONO1行当たりの文字数が 80 のモノクロディスプレイアダプタを指定します。
L|R [MS-DOS, Windows 95/98/Me] 画面のシフト方向を指定します。L は左方向、R は右方向です。ディスプレイによっては指定できない場合があります。
T [MS-DOS, Windows 95/98/Me] 画面のシフト方向を指定する際、テストパターンを利用して画面を正しく設定できるかどうかテストします。この場合、画面が正しく設定されているかどうかを確認するプロンプトが表示されます。
COLS=c

1行当たりの文字数を指定します。c にはその文字数を指定します。ディスプレイによっては指定できない場合があります。

[MS-DOS, Windows 95/98/Me] c に指定できる値は 40 または 80 です。

LINES=l

1画面当たりの行数を指定します。l にはその行数を指定します。ディスプレイによっては指定できない場合があります。

[MS-DOS, Windows 95/98/Me] l に指定できる値は 25、43、または 50 です。

RATE=r

キーを押しっぱなしにしたときの反復時間(繰り返されるまでの時間)を設定します。r に指定する値が大きいほど速くなります。

[MS-DOS, Windows 95/98/Me] r に指定できる値は 1~32 です。また、DELAY と同時に指定する必要があります。

DELAY=d

キーを押しっぱなしにしたときの、最初の反復が始まるまでの時間(遅延時間)を設定します。d に指定する値が大きいほど遅くなります。

[MS-DOS, Windows 95/98/Me] d に指定できる値は 1~4 で、それぞれ 0.25秒、0.5秒、0.75秒、1秒を表します。また、RATE と同時に指定する必要があります。

解説

Mode使用例

このプログラムは MS-DOS 上のデバイスに対して様々な設定を行います。ただしこれらの設定は再起動すると失われてしまいます。Windows のプロンプト上で実行した場合は、そのプロンプト内でのみ有効となります。

なお、シリアルポートやパラレルポートを使ってデータを送受信する場合は、COMnLPTnをファイルとして、TypeコマンドやEchoコマンドと出力リダイレクションを使います。

[Windows NT系?/XP 以降] Modeでコンソール(CON)のコードページを変更することが可能であり、Chcpコマンドの代わりとして使用することができます。

サンプル1

mode COM1: baud=119200 parity=e data=8 stop=1
type COM1

[Windows 95/98/Me ?/NT系?/XP 以降] シリアルポート COM1 の設定を整えたうえで、COM1 に送られてきたデータをコンソール上に出力します。

サンプル2

mode CON cp select=65001 > NUL

[Windows NT系?/XP 以降] コンソールのコードページ設定を UTF-8 に変更します。

関連項目