MS-DOS/PC DOS入門

出典: フリー教科書『ウィキブックス(Wikibooks)』
移動: 案内検索

MS-DOS/PC DOS入門は、マイクロソフト社製のMS-DOS、IBM社製のPC DOSおよびそのほかのDOSに関する解説である。

Wikipedia
ウィキペディアMS-DOSの記事があります。


MS-DOS、PC DOSとは?[編集]

MS-DOS、PC DOSは、パーソナルコンピュータ(PC)において、グラフィカルユーザインターフェイス(GUI)が普及するまでかなり用いられたキャラクタインターフェイス(w:CUI)オペレーティングシステムである。詳しくは、姉妹プロジェクトのウィキペディアのMS-DOSを参照。

MS-DOS、PC DOSの歴史[編集]

IBMが初代IBM PC用のOSの開発を米国マイクロソフト本社に委託し、PC DOSが開発された。その後、PC DOSをベースにマイクロソフトが他社にOEM供給したものは、MS-DOSとされた。

DOSの変遷[編集]

MS-DOS
バージョン1からバージョン6(Windows 95/98のDOS部分はバージョン7とされる)
PC DOS
バージョン1からバージョン7(バージョン7に若干の改修を加えたPC DOS 2000も存在する)
DR DOS
バージョン3.31からバージョン7.03 (バージョン8.1はGPL違反により消滅)

現代のDOS[編集]

MS-DOS、PC DOSは、オペレーティングシステムとしてはほとんど使われなくなったが、Microsoft Windowsのコマンドプロンプトとして、そのコマンド体系は残っている。

その他、有志によって「自由なDOS」を作る計画が始まってFreeDOSが生まれた。

DOSの概念[編集]

ディスク・ファイル[編集]

ディスクドライブ (A, B, C, D, ... Z)
ディスクドライブには「ドライブレター」というアルファベットのドライブ文字が割り当てられ、「Aドライブ」などと呼ぶ。PC/ATアーキテクチャではフロッピーディスクドライブにはAまたはBの文字が、ハードディスクドライブやCD-ROMドライブにはC以降の文字が割り当てられる。PC-98アーキテクチャでは、フロッピーディスク、ハードディスクを問わず起動ドライブがAドライブとなり、その後B、C、Dと順番に割り当てられていく。CONFIG.SYSのLASTDRIVEで上限を設定できる。
カレントドライブ
カレントドライブとは、対象となっているドライブのことである。カレントディレクトリとともに操作対象のディレクトリを指定する。「C:」や「D:」などのコマンドで変更できる
ディレクトリ
ファイルを階層化して管理する概念としてディレクトリと呼ばれるものがある。なおバージョン1には、ディレクトリの概念がない。なおWindowsではフォルダと呼ぶ。
カレントディレクトリ
カレントディレクトリとは、対象となっているディレクトリのことである。各ドライブごとに存在し、それぞれを内部コマンドのCDで変更できる。
ファイルシステム
FAT (File Allocation Table) を用いる。FATはWindows 95でファイル名の長さ制限を256バイトにしたVFATに拡張された。なお、VFATをDOS/Vフォーマット、IBMフォーマットなどと呼ぶこともある。[要出典]
またNTFSなどのパーティションにアクセスするためのドライバも販売されていた。

起動プロセス[編集]

次の順にファイルを読み込む。

  • IO.SYS (必須)
  • MSDOS.SYS (必須)
  • CONFIG.SYS
  • COMMAND.COM (変更可)
  • AUTOEXEC.BAT
IO.SYS MSDOS.SYS CONFIG.SYS
(省略可)
シェル
(省略時COMMAND.COM
AUTOEXEC.BAT
(省略可)
IBMBIO.COM IBMDOS.COM

なお、PC DOSまたはDR DOSの場合にはIO.SYSIBMBIO.COMに,MSDOS.SYSIBMDOS.COM となる。また、AUTOEXEC.BATCOMMAND.COMから呼び出されるため、CONFIG.SYSにおいてSHELL変数をCOMMAND.COM以外を指定した場合には読み込まれない。

環境設定[編集]

CONFIG.SYSAUTOEXEC.BATを書き換えることで行う。 MS-DOSバージョン7では、MSDOS.SYSも用いる。

CONFIG.SYS[編集]

デバイスドライバ[編集]

DEVICEDEVICEHIGH文によって組み込む。 主なデバイスドライバには次のものがある。

  • メモリ管理ドライバ
    • XMSドライバ (HIMEM.SYS)
    • EMSドライバ (EMM386.EXE)
      • 互換ドライバとしてQEMMなどが開発・販売された
  • マウスドライバ (MOUSE.SYS)
    • NEC PC-98シリーズ版MS-DOSでのみ提供されている
    • PC/AT互換機用のDOSでは常駐プログラムとしてMOUSE.COMが提供されている
  • 日本語フロントエンドプロセッサ (FEP)

具体的には

DEVICE=C:\DOS\HIMEM.SYS

などのように記述する。

なお、DEVICEHIGH文を用いる場合には、Upper Memory Blocksを使用するため、HIMEM.SYSまたはそれに準ずるドライバをDEVICE文で読み込んだ後に使用しなければならない。

常駐プログラムの読み込み[編集]

日本語FEPやマウスドライバなどの常駐プログラムをCONFIG.SYSから読み込む場合には、 INSTALL文またはINSTALLHIGH文を使う 。 INSTALL文を使うことで、 AUTOEXEC.BATを使わずに設定ファイルを構成することもできるが、 歴史的経緯からINSTALL文はあまり使われない。

なお、 DEVICE文におけるDEVICEHIGH文と同じく、 Upper Memory Blocksを使う関係上HIMEM.SYSの読み込みよりも後にINSTALLHIGHを使わなければならない。

例 
INSTALL=C:\DOS\MOUSE.COM

シェル設定[編集]

SHELL文によって設定する。 通常は標準シェルであるCOMMAND.COMを使用する。

具体的には

SHELL=C:\COMMAND.COM /P

などのように記述する。

なお、末尾の/Pは必須。

その他[編集]

  • DOS
    システムの一部をHigh Memory AreaやUpper Memory Blocksに読み込む際に使用する。
    • HIGH ... High Memory Areaに読み込む
    • UMB ... Upper Memory Blocksに読み込む
例 
DOS=HIGH,UMB
  • DOSDATA
    PC DOS 7.0以降のみ使用可能。
例 
DOSDATA=UMB

AUTOEXEC.BAT[編集]

AUTOEXEC.BATCOMMAND.COMが起動時に必ず読み込むファイルである。 実体は通常のバッチファイルになっている。

このファイルには常駐プログラムやDOSの起動時に自動的に実行させたいアプリケーションを書きこむ。

主に使われる用途としては次のようなものがある。

  • ディスクキャッシュ
  • CD-ROMドライブ名の割り当て
    • DOSでCD-ROMドライブを使うためには、デバイスドライバの読み込みだけではなく、MSCDEX.EXEなどの常駐ソフトウェアが必要になる
  • Windowsを起動させる (Windows 3.xまで)

記述方法は絶対パスもしくは相対パスで行う。 具体的には

A:\WINDOWS\WIN.COM
.\WINDOWS\WIN.COM

などのように記述する。

なお、常駐ソフトウェアを読み込む際にはCONFIG.SYSDEVICE文に対するDEVICEHIGH文のように、 High Memory Areaに常駐させるためのLOADHIGH文 (省略記法: LH) が用意されている。

MSDOS.SYS[編集]

MSDOS.SYSはCONFIG.SYS、AUTOEXEC.BATと違い、編集できる場所が限られている。もし、編集してはならない場所を編集した場合、MS-DOSが起動できなくなるケースが多い。

主に以下の用途で使われる。

  • デフォルトシェル
  • 起動ドライブ
  • インストールディレクトリ
  • Windows起動中のロゴを表示させる。(Windows9x)

コマンド[編集]

DOSのコマンドは、 内部コマンド外部コマンド に大別される。 内部コマンドとは標準シェルCOMMAND.COMの内蔵コマンドである。 外部コマンドとはCOMMAND.COMに内蔵されていない、 .COM形式あるいは.EXE形式で提供されているコマンドである。 .BAT形式を使うと、一度に複数のコマンドを実行できる。

基本コマンド[編集]

DIRについて[編集]

ディレクトリの内容を表示するための内部コマンド (UNIXのlsに相当)。 ディレクトリの中身を知りたい場合によく使われる。

(詳しく知りたい場合は、DIR /?とコマンドの後に/?)

サンプル出力 (全てBochs上のFreeDOSより)

DIR[編集]

C:\>dir
 Volume in drive C is FREEDOS
 Volume Serial Number is 4228-11FA

 Directory of C:\

KERNEL   SYS        41,293  08-04-02 11:32a
COMMAND  COM        86,413  07-30-02 12:17a
DOS                  <DIR>  11-14-02 10:43a
FDCONFIG SYS           263  11-14-02 11:05a
EDIT     EXE        62,277  08-11-04  7:38p
EDIT     HLP        29,452  04-28-04  1:22a
         5 file(s)        219,698 bytes
         1 dir(s)       5,402,624 bytes free

C:\>

DIR /W[編集]

例1:

C:\>dir /w
 Volume in drive C is FREEDOS
 Volume Serial Number is 4228-11FA
 Directory of C:\

KERNEL.SYS     COMMAND.COM    [DOS]          FDCONFIG.SYS   EDIT.EXE
EDIT.HLP
         5 file(s)        219,698 bytes
         1 dir(s)       5,402,624 bytes free

C:\>

例2:

 Directory of C:\DOS\BIN

[.]            [..]           RIPCORD.COM    ASSIGN.COM     ATTRIB.COM
CHOICE.EXE     CMDXSWP.COM    COMMAND.COM    KSSF.COM       PTCHSIZE.EXE
VSPAWN.COM     COMP.COM       DEBUG.COM      DISKCOMP.EXE   DISKCOPY.EXE
DISKCOPY.INI   DELTREE.COM    DELTREE2.COM   EDIT.EXE       EDIT.HLP
EMM386.EXE     HIMEM.EXE      EXE2BIN.COM    FC.EXE         FDISK.EXE
FDISK.INI      FDISKPT.INI    FDISKB.EXE     FDXMS.SYS      FDXMST.SYS
FDXXMS.SYS     FDXXMST.SYS    XMSTEST.EXE    FDXM286T.SYS   FDXMS286.SYS
XMS2TEST.EXE   FIND.EXE       FORMAT.EXE     FASTHELP.BAT   FDHELP.EXE
[FILES]        HELP.EXE       HELP.HTM       LABEL.EXE      MEM.EXE
[MKEYB]        MIRROR.EXE     MODE.COM       MORE.EXE       MOVE.EXE
NANSI.SYS      PRINT.COM      PRINTQ.EXE     28MON.COM      2CMON.COM
API28.COM      API28I16.COM   REPLACE.EXE    SCANDISK.EXE   SHARE.EXE
CDCACHER.EXE   CDHDREAD.EXE   KLUDGE0.EXE    NBSTAT.EXE     SHSUCDHD.EXE
SHSUCDN.EXE    SHSUCDX.EXE    SHSUDRVX.EXE   SHSUSERV.EXE   SORT.EXE
JOIN.EXE       SUBST.EXE      SWSUBST.EXE    SYS.COM        BITDISK.EXE
TDSK.EXE       TREE.COM       UNDELETE.EXE   UNFORMAT.EXE   XCOPY.EXE
[KEY]          KEYB.BAT       KEYMAN.EXE     LISTXDEF.EXE   SCANKBD.EXE
XKEYB.EXE      XKEYBRES.EXE
        82 file(s)      1,872,278 bytes
         5 dir(s)       5,402,624 bytes free

C:\DOS\BIN>

場合によっては、DIRコマンドを入力しても、長すぎて全てを見られないときがある。

例:

SHSUCDX  EXE        15,726  10-20-00  3:34p
SHSUDRVX EXE        12,849  10-20-00  3:19p
SHSUSERV EXE       113,520  05-09-96  8:12p
SORT     EXE        14,816  01-24-95  3:20p
JOIN     EXE        54,096  08-05-00  4:07p
SUBST    EXE        54,096  08-05-00  4:07p
SWSUBST  EXE        54,096  01-26-97 11:35p
SYS      COM        10,687  08-16-02 11:29p
BITDISK  EXE        10,311  06-22-95  1:10a
TDSK     EXE        18,183  12-12-95  2:30a
TREE     COM         9,893  07-07-01 12:33p
UNDELETE EXE         9,103  08-30-02 11:30p
UNFORMAT EXE        36,231  03-24-99  8:31p
XCOPY    EXE        15,102  09-07-01 12:10a
KEY                  <DIR>  11-14-02 11:03a
KEYB     BAT            23  08-17-01  4:55a
KEYMAN   EXE         6,202  04-14-02  2:09p
LISTXDEF EXE         3,366  04-14-02  2:09p
SCANKBD  EXE         6,627  04-14-02  2:09p
XKEYB    EXE        12,657  07-27-02  6:57p
XKEYBRES EXE         5,986  07-27-02  6:57p
        82 file(s)      1,872,278 bytes
         5 dir(s)       5,402,624 bytes free

C:\DOS\BIN>


そのような場合は、

DIR /P[編集]

コマンドを使用する。 このコマンドを使用すると『次の頁を見るためには、何かキーを押してください』と表示されるので、次の頁を見たい場合は、何かキー(Enter等)を押す。


 Volume in drive C is FREEDOS
 Volume Serial Number is 4228-11FA

 Directory of C:\DOS\BIN

.                    <DIR>  11-14-02 10:44a
..                   <DIR>  11-14-02 10:44a
RIPCORD  COM         5,805  09-04-02  7:20a
ASSIGN   COM        13,867  01-27-97 12:46a
ATTRIB   COM         7,136  08-01-02  2:00a
CHOICE   EXE        12,032  08-31-02  4:20p
CMDXSWP  COM        88,043  07-29-02 10:38p
COMMAND  COM        86,413  07-29-02 10:42p
KSSF     COM           828  07-29-02 10:42p
PTCHSIZE EXE        13,104  07-29-02 10:42p
VSPAWN   COM           953  07-29-02 10:42p
COMP     COM         1,285  11-27-94  3:48p
DEBUG    COM        19,606  11-24-01  7:55p
DISKCOMP EXE        18,688  05-01-01  9:48p
DISKCOPY EXE        46,176  07-15-01  2:17p
DISKCOPY INI           512  07-15-01  2:05p
DELTREE  COM         4,210  04-24-00  1:02a
DELTREE2 COM         3,858  04-24-00  1:02a
EDIT     EXE       336,449  06-23-01  2:03p
Press any key to continue . . .


CD (CHDIR) について[編集]

カレントディレクトリを変更する際に使用するコマンドである。

CD[編集]

ディスクA:\BINからの一つ上のフォルダに移動したい時には、


A:\BIN>cd ..

A:\>

.(ピリオド)はカレントディレクトリを表す。 上記の場合、連続してピリオドを記述しているが、これは1階層上のディレクトリを指定した事になる。

コマンドリファレンス[編集]

  • ATTRIB
    ファイル属性の変更。+R/-R(読みとり専用属性)、+H/-H(隠しファイル属性)、+S/-S(システムファイル属性)、+A/-A(アーカイブ属性)の内操作したい物を記述し、その後に対象のファイル名を指定する。
  • CLS
    画面に表示されている情報を消去する。
  • COLOR
    文字色・背景色を設定できる。
  • COMMAND
    COMMAND.COMを起動する。プロンプトから呼び出しても、意味がない。
  • COPY
    ファイルをコピーする。コピー元のファイルと、コピー先(別ドライブや別ディレクトリを指定したり、別の名前でコピーを作ったりできる)を指定する。2つ以上のファイルを結合しながらコピーすることもできる。
  • DEL
    ファイルの削除。削除対象のファイル名を指定する。
  • DELTREE
    指定のディレクトリ以下を全て削除する。
  • EXIT
    COMMAND.COMを終了する。ほかのソフトウェアから呼び出された場合、そのソフトウェアに戻るが、それ以外の場合は何も起こらない。
  • FC
    ファイル比較
  • FDISK
    パーティーションの管理を行う。下手に操作すると、データを失うので、慣れるまでパーティーションの編集はしない。
  • FORMAT
    ディスクのフォーマットを行う。
  • INTERLINK
    DOSレベルで2台のPCをP2P接続するためのソフトウエア。接続にはRS-232Cかパラレルプリンターポートを使う。ホストとなるマシンのHDがゲストとなるPCで操作できるようになる。
  • LABEL
    ドライブのボリュームラベルを変更する。ドライブを指定しその後に新しいボリュームラベルを指定するか、もしくはドライブ名だけ指定してコマンドが出すプロンプトで新しいボリュームラベルを指定する。
  • MD(MKDIR)
    ディレクトリを作成する。作成するディレクトリを指定する。
  • MEM
    メモリーの使用状況などを確認できる。
  • MODE
    デバイスの設定を行う。画面のサイズも変更できる。
  • MORE
    1画面毎にキー入力を待つ表示。"<"の後に表示するファイルを指定するか、もしくは他のコマンドの後に"| MORE"を付ける。Windowsでは、ファイル名をパラメーターにすることができる。
  • MOVE
    ファイルの移動。RENと異なり、ディレクトリやドライブを超えた移動ができる。
  • PROMPT
    プロンプト( C:\> など)を変更する。
  • RD(RMDIR)
    ディレクトリの削除。削除するディレクトリを指定するが、そのディレクトリは空でなければならない。
  • REN
    ファイル名の変更。変更したいファイルの場所と、新しい名前を指定する。
  • SCANDISK
    ディスクのエラーを検査する。
  • SET
    環境変数の設定。例えばSET TEMP=C:\TEMPなどとして設定し、その後COPY FILENAME %TEMP%と実行するとあたかもCOPY FILENAME C:\TEMPと実行したかのように振舞われる。
  • SYS
    DOSシステムの転送。IO.SYS, MSDOS.SYS, COMMAND.COMなどを指定ドライブへコピーするが、バージョンによって転送するファイルに若干の違いがある。
  • TIME/DATE
    マシンの日付及び時刻を設定する。
  • TREE
    ディレクトリ構造を表示する。
  • TYPE
    テキストファイルの中身を表示する。
  • VER
    DOSのバージョン番号を表示する。
  • XCOPY
    拡張されたCOPYコマンド。ファイルだけではなく、ディレクトリのコピーを行うことができる。


参考文献[編集]

このページ「MS-DOS/PC DOS入門」は、書きかけです。加筆・訂正など、協力いただける皆様の編集を心からお待ちしております。また、ご意見などがありましたら、お気軽にノートへどうぞ。