「DOS入門」の版間の差分

削除された内容 追加された内容
ページの白紙化
タグ: 白紙化 blanking モバイル編集 モバイルウェブ編集
M 221.206.92.51 (会話) による編集を取り消し、Tomzo による直前の版へ差し戻す
タグ: 巻き戻し
1 行
MS-DOS/PC DOS入門は、マイクロソフト社製のMS-DOS、IBM社製のPC DOSおよびそのほかのDOSに関する解説である。
{{Wikipedia|MS-DOS}}
 
<!-- DOS -->
== MS-DOS、PC DOSとは? ==
 
MS-DOS、PC DOSは、パーソナルコンピュータ(PC)において、グラフィカルユーザインターフェイス([[w:GUI|GUI]])が普及するまでかなり用いられたキャラクタインターフェイス([[w:CUI]])オペレーティングシステムである。詳しくは、姉妹プロジェクトのウィキペディアの[[w:MS-DOS|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も存在する)
; [[w:DR-DOS|DR DOS]]
: バージョン3.31からバージョン7.03 (バージョン8.1は[[w:GNU General Public License|GPL]]違反により消滅)
 
=== 現代のDOS ===
 
MS-DOS、PC DOSは、オペレーティングシステムとしてはほとんど使われなくなったが、Microsoft Windowsのコマンドプロンプトとして、また、[[w:Microsoft Windows Vista|WindowsVista]]から([[w:Windows XP|WindowsXP]]からインストール可能)は、[[w:cmd.exe|コマンドプロンプト]]の他に[[w:Windows PowerShell|Windows PowerShell]]が標準に追加され、そのコマンド体系は残っている。
 
その他、有志によって「自由なDOS」を作る計画が始まってFreeDOSが生まれた。
 
== DOSの概念 ==
 
=== ディスク・ファイル ===
; ディスクドライブ (A, B, C, D, ... Z)
: ディスクドライブには「ドライブレター」というアルファベットのドライブ文字が割り当てられ、「Aドライブ」などと呼ぶ。[[w:PC/AT|PC/AT]]アーキテクチャではフロッピーディスクドライブにはAまたはBの文字が、ハードディスクドライブやCD-ROMドライブにはC以降の文字が割り当てられる。[[w:PC-9800シリーズ|PC-98]]アーキテクチャでは、フロッピーディスク、ハードディスクを問わず起動ドライブがAドライブとなり、その後B、C、Dと順番に割り当てられていく。CONFIG.SYSのLASTDRIVEで上限を設定できる。</br> なお、現代のパソコンで内蔵ドライブの多くがCドライブになるのは、このMS-DOSの設定で、A・Bドライブが[[w:フロッピーディスクドライブ|フロッピーディスクドライブ]]、更に詳しく書くと、AドライブがMS-DOSのフロッピーディスク用のドライブ、Bドライブがその他のフロッピーディスク用のドライブ用で、Cドライブが[[w:ハードディスク|ハードディスクドライブ]]用と割り振られているからである。決してCドライブの"C"は「computer」の"C"ではない。コンピューターの記憶装置として普及したフロッピーディスクから順番に割り振っていったらハードディスクのドライブレターが"C"になったということにすぎない。なお、フロッピーディスクドライブがA・Bと二つ割り振られているのは、当時、AドライブでMS-DOSを読み込みながらBドライブのフロッピーディスクの作業をしていたからである。<br> また、[[w:ソリッドステートドライブ|SSD]]は[[w:ハードディスク|ハードディスクドライブ]]の代替であるから、ハードディスクドライブと同じCドライブである。
; カレントドライブ
: カレントドライブとは、対象となっているドライブのことである。カレントディレクトリとともに操作対象のディレクトリを指定する。「C:」や「D:」などのコマンドで変更できる。
; ディレクトリ
: ファイルを階層化して管理する概念としてディレクトリと呼ばれるものがある。バージョン1には、ディレクトリの概念がない。なお[[w:Windows|Windows]]ではフォルダと呼ぶ。
; カレントディレクトリ
: カレントディレクトリとは、対象となっているディレクトリのことである。各ドライブごとに存在し、それぞれを内部コマンドのCDで変更できる。
; [[w:ファイルシステム|ファイルシステム]]
: FAT ([[w:File Allocation Table|File Allocation Table]]) を用いる。FATは[[w:Microsoft Windows 95|Windows 95]]でファイル名の長さ制限を256バイトにした[[w:File Allocation Table#VFAT|VFAT]]に拡張された。なお、VFATをDOS/Vフォーマット、IBMフォーマットなどと呼ぶこともある。<sup><span title="要出典">''<nowiki>[</nowiki>[[w:Wikipedia:「要出典」をクリックされた方へ|<span title="要出典">要出典</span>]]<nowiki>]</nowiki>''</span></sup><!-- VFATはDOS/Vでは正しく扱えないためDOS/Vフォーマットと呼ばれるには疑問が残る.またPC-DOSではVFATはサポートされたことがないためIBMフォーマットと呼ばれるのも疑問. -->
: また[[w:NTFS|NTFS]]などのパーティションにアクセスするためのドライバも販売されていた。
<!--
「ディスクフォーマット」と言いながらフロッピーディスクの種類に言及しているため一旦オミット.
フォーマットの違いだけでなく磁性体の違いなどもあるため不適当.
; ディスクフォーマット
: ディスクフォーマットは、ファイルシステムを含むディスク上のデータを記録する形式のことである。
:* 2DD - 640KB, 720KB
:* 2HD - 1.21MB, 1.25MB, 1.44MB
:* 2ED - 2.88MB (2EDはほとんど普及しなかった)
: 現在、普及しているフロッピーディスクのフォーマットは、DOS/V 1.44MB 2HDが主であり、1995年以前の日本ではPC-9800シリーズ用の1.25MB 2HDが使われたが、Windowsの登場以降では1.44MB 2HDに移行した。
-->
 
=== 起動プロセス ===
 
次の順にファイルを読み込む。
 
* <tt>IO.SYS</tt> (必須)
* <tt>MSDOS.SYS</tt> (必須)
* <tt>CONFIG.SYS</tt>
* <tt>COMMAND.COM</tt> (変更可)
* <tt>AUTOEXEC.BAT</tt>
 
{|class='wikitable'|
|style='text-align: center;'|<tt>IO.SYS</tt>
|style='text-align: center;'|&rarr;
|style='text-align: center;'|<tt>MSDOS.SYS</tt>
|style='text-align: center;'|&rarr;
|rowspan='2' style='text-align: center;'|<tt>CONFIG.SYS</tt><br/>(省略可)
|rowspan='2' style='text-align: center;'|&rarr;
|rowspan='2' style='text-align: center;'|シェル<br/>(省略時<tt>COMMAND.COM</tt>)
|rowspan='2' style='text-align: center;'|&rarr;
|rowspan='2' style='text-align: center;'|<tt>AUTOEXEC.BAT</tt><br/>(省略可)
|-
|style='text-align: center;'|<tt>IBMBIO.COM</tt>
|style='text-align: center;'|&rarr;
|style='text-align: center;'|<tt>IBMDOS.COM</tt>
|style='text-align: center;'|&rarr;
|}
 
なお、PC DOSまたはDR DOSの場合には<tt>IO.SYS</tt>は<tt>IBMBIO.COM</tt>に,<tt>MSDOS.SYS</tt>は<tt>IBMDOS.COM</tt>
となる。また、<tt>AUTOEXEC.BAT</tt>は<tt>COMMAND.COM</tt>から呼び出されるため、<tt>CONFIG.SYS</tt>において<tt>SHELL</tt>変数を<tt>COMMAND.COM</tt>以外を指定した場合には読み込まれない。
 
== 環境設定 ==
 
<tt>CONFIG.SYS</tt>と<tt>AUTOEXEC.BAT</tt>を書き換えることで行う。
MS-DOSバージョン7では、<tt>MSDOS.SYS</tt>も用いる。
 
=== <tt>CONFIG.SYS</tt> ===
==== デバイスドライバ ====
<tt>DEVICE</tt>、<tt>DEVICEHIGH</tt>文によって組み込む。
主なデバイスドライバには次のものがある。
 
*メモリ管理ドライバ
** [[Wikipedia:XMS|XMS]]ドライバ (<tt>HIMEM.SYS</tt>)
** [[Wikipedia:Expanded_Memory_Specification|EMS]]ドライバ (<tt>EMM386.EXE</tt>)
*** 互換ドライバとして[[Wikipedia:QEMM|QEMM]]などが開発・販売された
* マウスドライバ (<tt>MOUSE.SYS</tt>)
** NEC PC-98シリーズ版MS-DOSでのみ提供されている
** PC/AT互換機用のDOSでは常駐プログラムとして<tt>MOUSE.COM</tt>が提供されている
* 日本語フロントエンドプロセッサ (FEP)
 
具体的には
: <tt>DEVICE=C:\DOS\HIMEM.SYS</tt>
などのように記述する。
 
なお、<tt>DEVICEHIGH</tt>文を用いる場合には、Upper Memory Blocksを使用するため、<tt>HIMEM.SYS</tt>またはそれに準ずるドライバを<tt>DEVICE</tt>文で読み込んだ後に使用しなければならない。
 
==== 常駐プログラムの読み込み ====
日本語FEPやマウスドライバなどの常駐プログラムを<tt>CONFIG.SYS</tt>から読み込む場合には、
<tt>INSTALL</tt>文または<tt>INSTALLHIGH</tt>文を使う 。
<tt>INSTALL</tt>文を使うことで、
<tt>AUTOEXEC.BAT</tt>を使わずに設定ファイルを構成することもできるが、
歴史的経緯から<tt>INSTALL</tt>文はあまり使われない。
 
なお、
<tt>DEVICE</tt>文における<tt>DEVICEHIGH</tt>文と同じく、
Upper Memory Blocksを使う関係上<tt>HIMEM.SYS</tt>の読み込みよりも後に<tt>INSTALLHIGH</tt>を使わなければならない。
 
; 例 : <tt>INSTALL=C:\DOS\MOUSE.COM</tt>
 
==== シェル設定 ====
<tt>SHELL</tt>文によって設定する。
通常は標準シェルである<tt>COMMAND.COM</tt>を使用する。
 
具体的には
: <tt>SHELL=C:\COMMAND.COM /P</tt>
などのように記述する。
 
なお、末尾の<tt>/P</tt>は必須。
 
==== その他 ====
* <tt>DOS</tt>文<br/>システムの一部をHigh Memory AreaやUpper Memory Blocksに読み込む際に使用する。
** <tt>HIGH</tt> ... High Memory Areaに読み込む
** <tt>UMB</tt> ... Upper Memory Blocksに読み込む
; 例 : <tt>DOS=HIGH,UMB</tt>
* <tt>DOSDATA</tt>文<br/>PC DOS 7.0以降のみ使用可能。
; 例 : <tt>DOSDATA=UMB</tt>
 
=== <tt>AUTOEXEC.BAT</tt> ===
<tt>AUTOEXEC.BAT</tt>は<tt>COMMAND.COM</tt>が起動時に必ず読み込むファイルである。
実体は通常のバッチファイルになっている。
 
このファイルには常駐プログラムやDOSの起動時に自動的に実行させたいアプリケーションを書きこむ。
 
主に使われる用途としては次のようなものがある。
* ディスクキャッシュ
* CD-ROMドライブ名の割り当て
** DOSでCD-ROMドライブを使うためには、デバイスドライバの読み込みだけではなく、<tt>MSCDEX.EXE</tt>などの常駐ソフトウェアが必要になる
* Windowsを起動させる (Windows 3.xまで)
 
記述方法は絶対パスもしくは相対パスで行う。
具体的には
: A:\WINDOWS\WIN.COM
: .\WINDOWS\WIN.COM
などのように記述する。
 
なお、常駐ソフトウェアを読み込む際には<tt>CONFIG.SYS</tt>の<tt>DEVICE</tt>文に対する<tt>DEVICEHIGH</tt>文のように、
High Memory Areaに常駐させるための<tt>LOADHIGH</tt>文 (省略記法: <tt>LH</tt>) が用意されている。
 
=== MSDOS.SYS ===
 
MSDOS.SYSはCONFIG.SYS、AUTOEXEC.BATと違い、編集できる場所が限られている。もし、編集してはならない場所を編集した場合、MS-DOSが起動できなくなるケースが多い。
 
主に以下の用途で使われる。
:*デフォルトシェル
:*起動ドライブ
:*インストールディレクトリ
:*Windows起動中のロゴを表示させる。(Windows9x)
 
= コマンド =
DOSのコマンドは、
'''内部コマンド'''と'''外部コマンド'''
に大別される。
内部コマンドとは標準シェル<tt>COMMAND.COM</tt>の内蔵コマンドである。
外部コマンドとは<tt>COMMAND.COM</tt>に内蔵されていない、
<tt>.COM</tt>形式あるいは<tt>.EXE</tt>形式で提供されているコマンドである。
<tt>.BAT</tt>形式を使うと、一度に複数のコマンドを実行できる。
 
== 基本コマンド ==
 
=== <tt>DIR</tt>について ===
 
ディレクトリの内容を表示するための内部コマンド (UNIXの<tt>ls</tt>に相当)。
ディレクトリの中身を知りたい場合によく使われる。
 
(詳しく知りたい場合は、<tt>DIR /?</tt>とコマンドの後に<tt>/?</tt>)
 
サンプル出力 (全てBochs上のFreeDOSより)
==== <tt>DIR</tt> ====
 
<pre>
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:\>
 
</pre>
 
===== <tt>DIR /W</tt> =====
例1:
<pre>
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:\>
</pre>
例2:
 
<pre>
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>
 
</pre>
場合によっては、<tt>DIR</tt>コマンドを入力しても、長すぎて全てを見られないときがある。
 
例:
 
<pre>
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>
 
</pre>
 
 
そのような場合は、
 
===== <tt>DIR /P</tt> =====
コマンドを使用する。
このコマンドを使用すると『次の頁を見るためには、何かキーを押してください』と表示されるので、次の頁を見たい場合は、何かキー(Enter等)を押す。
 
 
<pre>
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 . . .
 
 
</pre>
 
=== <tt>CD</tt> (<tt>CHDIR</tt>) について ===
 
'''カレントディレクトリ'''を変更する際に使用するコマンドである。
 
==== <tt>CD</tt> ====
ディスクA:\BINからの一つ上のフォルダに移動したい時には、
 
 
<pre>
A:\BIN>cd ..
 
A:\>
 
</pre>
 
.(ピリオド)は'''カレントディレクトリ'''を表す。
上記の場合、連続してピリオドを記述しているが、これは'''1階層上のディレクトリ'''を指定した事になる。
 
== コマンドリファレンス ==
*ATTRIB
*:ファイル属性の変更。+R/-R(読みとり専用属性)、+H/-H(隠しファイル属性)、+S/-S(システムファイル属性)、+A/-A(アーカイブ属性)の内操作したい物を記述し、その後に対象のファイル名を指定する。
*CLS
*:画面に表示されている情報を消去する。
*COLOR
*:文字色・背景色を設定できる。
*COMMAND
*:COMMAND.COMを起動する。プロンプトから呼び出しても、意味がない。
*COPY
*:ファイルをコピーする。コピー元のファイルと、コピー先(別ドライブや別ディレクトリを指定したり、別の名前でコピーを作ったりできる)を指定する。2つ以上のファイルを結合しながらコピーすることもできる。
*DEL
*:ファイルの削除。削除対象のファイル名を指定する。
*DELTREE
*:指定のディレクトリ以下を全て削除する。
*EXIT
*:COMMAND.COMを終了する。ほかのソフトウェアから呼び出された場合、そのソフトウェアに戻るが、それ以外の場合は何も起こらない。
NEC PC9800シリーズの場合はハードディスクのアクセスアームを元に戻す機能を備えているため、
実行して電源を落とさないとハードディスクのデータが破壊される可能性がある。
*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 API == -->
 
== 参考文献 ==
* 「MS-DOSってなんどすか?」 粟野邦夫著 (1987/01) ISBN 4-89369-014-0
 
{{stub}}
 
{{DEFAULTSORT:MS-DOS/PC-DOSにゆうもん}}
[[Category:ソフトウェアのマニュアル]]
{{NDC|007.63}}