{{category Data,MSDOS,nolink}}昔、説明用にちょっとまとめたもの !!!MS-DOSとは? MS-DOSはマイクロソフト社が開発したPC(x86系16bitCPU)用のディスク・オペレーティング・システム(Disk Operating System:一般的にはOSと呼ぶ)のことです。コンピューターとユーサーとのやりとり(インターフェース)が文字であり、ディスク管理にドライブ番号、UNIXで使われているディレクトリを採用しているという特徴があります。また、MS-DOSはシングルユーザー用で、シングルタスクの環境を提供するOSです。 一般的にOSは、機種に依存しない共通のインターフェースを提供しますが、MS-DOSは、主にどのコンピューターでも同じ方法でディスクにアクセス(読み書き)できる共通の環境を提供します。 !!DOS/V用とPC98用 日本のコンピューターにはDOS/VとPC98等ありますが、それぞれ同じx86系のCPUを使用しているものの、ハードウェアの設計が異なります(バスやI/Oポート等)。 このため、表計算のプログラムを作ろうとしたとき、DOS/V用とPC98用、それぞれのハードウェアに合ったプログラムを作る必要があります。別々のプログラム作成には、時として膨大な時間がかかることがありました。MS-DOS等の共通のインターフェースを提供してくれるOSを使えばDOS/V 用とPC98用、別々にプログラムを作る必要がなくなり、どのコンピューターでも同じプログラムを使用できるメリットがあります。 !!MS-DOSの共通インターフェース内容 *ディスク(ハード・ディスク、フロッピー・ディスク、RAMディスク等)への読み書き *ディスクにあるファイルの情報、ディスク空き容量 *仮想ディスク(CD-ROM,LAN等)への読み書き *画面表示(主に文字)、キーボードからの入力 *年月日時間の管理(取得、設定) *メモリ(RAM)の管理(取得、開放) !!MS-DOSの文字コード OSにはMS-DOS,UNIX,Windows,BeOS等色々ありますが、それぞれのOSで改行や漢字などを表す文字コードが異なります。 *漢字コード = Shift-JIS *改行コード = CR + LF (0DH + 0AH) !!MS-DOSのバージョン 上記項目を注意してプログラムを作成すればどの機種のMS-DOS上でも実行が可能となります。注意として、MS-DOSにはバージョンというものがあり、バージョンが同じかそれ以降のバージョンでないと実行できないものがあります。 *Ver 1.25 *Ver 2.11 *Ver 3.0 *Ver 3.1 *Ver 3.3 A-D *(Ver 4.0) *Ver 5.0 A-H *Ver 6.2 *Ver 7.0 (Windows 95,98 のDOS) !!MS-DOSのきまり MS-DOSには次の様な決まりがあります。 *ファイルパスは、以下の規則で扱う。 **ドライブ番号(A:,B: 等) + \ + ディレクトリ名(MSDOS 等) + \ + ファイル名(README.TXT 等) **ディレクトリが多階層となる場合は、\ でディレクトリを連結していく。 **ドライブ番号とディレクトリ名は省略可能。 *ファイル名は、ファイル名(最大8文字) + ピリオド + 拡張子(最大3文字)で構成する。 **MS-DOSは、ファイルの種別の区別に拡張子を利用する。 **Windows95以降では、ロングファイル名が利用可能になった *ディレクトリ名は最大12文字で構成する。 *ファイル、ディレクトリ名に、?, *, /, |, >, <, .(ピリオド),\ は使用できない。 *ファイル、ディレクトリ名にMS-DOSの予約語(CON,PRN等)は使用できない。 *ファイル、ディレクトリ名は大文字、小文字の区別をしない。 **参考:UNIXは大文字、小文字のファイルを別ファイルとして区別する。 *実行ファイル(.COM, .EXE, .BAT)は、拡張子を省略して実行できる。 *実行ファイルのディレクトリ検索順位は次のようになる。 **カレントディレクトリ → 環境変数のパス指定 **参考:UNIXは環境変数のパス指定のみ *コマンド実行時の拡張子別の検索順位は次ぎようのようになる。 **DOS内部コマンド → .COM → .EXE → .BAT !!!ファイルとディレクトリ !!ファイルの名前 !文字数の制限 ファイル名は基本名と拡張子からなり、基本名は半角文字で8文字以内,拡張子は3文字以内。拡張子は省略可能だが、基本名は省略できない。ディレクトリ名は最大12文字。 !名前の制限 下記の文字以外の半角英数字,記号,半角カナ,全角文字(半角2バイト分の文字数)が使用できる。また、半角英字の大文字、小文字の区別はされない。 *(半角空白),?, *, /, |, >, <, .(ピリオド),\ は使用できない *MS-DOSの予約ファイル名(CON,PRN等)は使用できない !!拡張子の種類 実行ファイル以外は、MS-DOSからは区別されない。慣用的に使用している代表的な物のみ :.COM :MS-DOSで実行可能なバイナリファイル (ファイルサイズが小さいもの) :.EXE :MS-DOSで実行可能なバイナリファイル :.BAT :MS-DOSで実行可能なテキストファイル 後述のバッチファイル参照 :.BAK :バックアップファイル :.TMP :テンポラリ(一時)ファイル :.SYS :システムファイル ドライバーなど :.DRV :ドライバファイル (.SYSと同じ) :.TXT :テキストファイル :.DOC :ドキュメントファイル (.TXTと同じ) :.DIC :日本語辞書ファイル !!ファイルの属性 :Read-only :ファイルの内容をユーザが読むことはできるが、書き込むことはできない。 :System :このファイルは、OSが必要とする特別な目的のために使われている。 :Hidden :このファイルは、ファイルを表示できるような設定をしない限り、ユーザに表示されない。 :Archive :このファイルは、DOSのバックアップコマンドが最後に実行されてから修正されている。 ファイルが実行可能であることを示す属性は存在しない。ファイルが実行可能かどうかをその拡張子 .EXE,COM,.CMD,.BAT で判断している。また、ユーザ/グループ毎の属性の指定もない。 !!システムファイル 起動ドライブのルートに置かれている以下のシステムファイルは、起動時に必要なファイルである。(CONFIG.SYS,AUTOEXEC.BATはなくてもよい) :IO.SYS :システム :MSDOS.SYS :システム :COMMMAND.COM :UNIXのShellに近い存在。 :CONFIG.SYS :起動時に読み込まれる。ディバイス登録を記述したファイル :AUTOEXEC.BAT :起動時に読み込まれる。バッチファイル !!システムディバイス(予約ファイル名) MS-DOSであらかじめ用意されている、ディバイスファイル。予約ファイルであり、ファイル名等には利用できない。 :AUX :補助入出力装置 (RS-232C等) :CON :コンソール (キーボードまたはディスプレイ) :NUL :ヌルディバイス :PRN :プリンタ装置 :CLOCK :クロック !!!MS-DOSのファンクション・キー ファンクション・キーには、DOSKEYコマンドより低機能ですが、長いコマンドの入力ミス訂正や再度同じコマンドの活用のため、直前に入力したコマンドなどの文字列を再度呼び出す機能があります。(MS-DOSは直前のコマンドを特定のバッファに保存する) なお、標準状態でファンクション・キーは下記の機能に設定されていますが、MS-DOSのコマンドで設定変更できます。また、SHIFT+ファンクション・キーにはコマンドが設定されています。 !!ファンクション・キー ::F1 :::'''''' ::: 特定のバッファから1文字コピーする ::F2 :::''' + "文字"''' ::: 特定のバッファから"文字"以前の文字列をコピーする ::F3 :::'''''' ::: 特定のバッファから全ての文字列をコピーする ::F4 :::'''''' ::: 特定のバッファのポインタを1文字進める ::F5 :::''' + "文字"''' ::: 特定のバッファから"文字"以前までポインタを進める ::F6 :::'''''' ::: 現在の入力を無効にして新規にコマンドを受け付ける(以前の特定のバッファが有効) ::F7 :::'''''' ::: 現在の入力文字列を新たに特定のバッファに取り込み新規にコマンドを受け付ける ::F8 :::'''''' ::: 特定のバッファのポインタを止めて入力する ::F9 :::'''''' ::: ''と同じ?'' ::F10 :::'''<^Z>''' ::: CTRL+Z(1AH)を入力する !!SHIFT+ファンクション・キー ::SHIFT + F1 :::"dir a:" + CR ::SHIFT + F2 :::"dir b:" + CR ::SHIFT + F3 :::copy ::SHIFT + F4 :::del ::SHIFT + F5 :::ren ::SHIFT + F6 :::"chkdsk a:" + CR ::SHIFT + F7 :::"chkdsk b:" + CR ::SHIFT + F8 :::type ::SHIFT + F9 :::date + CR ::SHIFT + F10 :::time + CR ※ + CRはリターンキーを示す !!!リダイレクトとパイプ !!!環境変数 !!システム環境変数 ::COMSPEC :::現在使用しているシェルの位置を表す。 :::特別なことがない限り設定、変更することは必要ない。 ::PATH :::実行ファイルを検索するディレクトリを表す。 :::複数のディレクトリを指定する場合は;(セミコロン)で区切ればよい。 ::PROMPT :::DOSコマンドが入力可能時に表示する文字列を表す。 ::TEMP,TMP :::テンポラリディレクトリの場所