Windowsには大きく分けて2系統があります。
- 95/98系・・・Windows95・98・98SE・ME
- NT系 ・・・・・WindowsNT・2000・XP・Server2003
95、98系のWindows上でMS-DOSのコマンド及びアプリケーションが動作するプログラム
及び仕組みを「MS-DOSプロンプト」と言います。
NT系のWindows上でMS-DOSのコマンド及びアプリケーションが動作するプログラム
及び仕組みを「コマンドプロンプト」と言います。
MS-DOS(Microsoft Disk Operation System)とは、マウスを使わずもっぱら
キーボードから命令(コマンド)を打ち込んで、アプリケーションを起動したり、ファイル
操作やシステム管理などの各種操作をする、文字ベースの操作環境
(CUI:Character User Interface)をもったOSのことです。
マウスを使ったWindowsのGUI環境と比べて、コマンドプロンプトには以下のような利点があります。
※(GUI:Graphical User Interface)
- MS-DOSアプリケーションが使える
- ワイルドカードを使って複数のファイル操作が一度でできる
- 繰り返す操作はバッチファイルで自動化できる
- Windowsの細かいシステム設定や、ネットワークの調整ができる
コマンドプロンプトはMS-DOSのコマンドやMS-DOS対応のアプリケーションが使えます。
ただ、特殊なグラフィックスを使ったり、ハードウェアにアクセスして直接制御す
るようなアプリケーションは動作しない事もあります。
コマンドプロンプトでは同じ文字で名前が始まるファイルや、拡張子が同じファイ
ルを一度に別のハードディスクにコピーしたり削除したりする事ができます。その際
にはワイルドカードというある決まった文字を使います。
単純な操作の繰り返しや定型処理などは、コマンドラインでの操作を1行1行記述
したテキストファイルを作っておき実行させれば便利です。
このファイルはバッチファイルと呼び、1種のプログラミング言語でもあります。
設定した条件にあったときだけ処理を実行させたり、別の処理に切り替えたりもで
き、バッチファイルの中から他のバッチファイルを呼び出すといった事もできます。
コマンドプロンプトでは、OSのシステム管理やネットワークを取り扱うコマンドが
9x系のWindowsよりも充実しています。
LAN接続されたコンピュータの設定の確認や、接続不良を起こした際の設定の変更、
他のコンピュータを遠隔操作するコマンドなども簡単に出来ます。
システムに重大な障害が発生した際の、回復コンソールではコマンドプロンプトと
同様のコマンド実行環境で回復コンソール用のコマンドを使ってシステムの回復を行います。
ただし、コマンド全部を使いきるには、Windowsに対する高度な知識が必要とされますが、
使い方さえ覚えてしまえば、とても便利なものであるには違いありません。
では、これからコマンドプロンプトに使われるコマンドの書式などを簡単に説明していきます。
- コマンドプロンプト用のコマンド
- 拡張子が「.exe」や「.com」のプログラムファイル
- 拡張子が「.bat」や「.cmd」のバッチファイル
- 拡張子が「.lnk」や「.pif」のファイル(プログラムのショートカット)
- アプリケーションと関連付けられたデータファイル
- Windowsで起動が許されている拡張子のファイル
- 1バイトの大文字と小文字は区別されない
- 2バイトの大文字と小文字は区別される
- 1バイトの空白文字を含んだ入力文字は、全体をダブルクォーテーションでくくる
コマンドプロンプト対応の各種コマンドには、コマンド名を入力すればただちに実行
できるものと、処理対象を指定しなければならないものがあります。
例えばハードディスクのCドライブにあるaaa.txtと言うファイルを、ハードディスク
のDドライブにコピ-するには、 以下のように入力してEnterキーを押して実行しな
ければなりません。
C:¥>copy aaa.txt d:¥
この例のように、コマンドの後ろに指定する文字列をパラメータもしくは引数と言います。
パラメータの指定の際には、コマンド名の後ろに1個以上の1バイトスペースをあけて
文字を入力しなければなりません。
コマンドプロンプトでは、拡張子も含めたファイル名全体を指定しないとファイルを特定する
事ができないため、「aaa.txt」というようにファイル全体の名称を入力しなければなりません。
MS-DOSのファイル管理の考え方は、ツリー構造であり、ディレクトリはファイルを格納しておく
入れ物というよりは、住所や番地という意味合いが強いです。なお、ディレクトリの中にある
ディレクトリはサブディレクトリと呼ばれます。ツリー構造での幹や枝に相当するものです。
木そのものはルートディレクトリと呼ばれ、当然各ドライブに1つしか存在しません。
ドライブ名の指定には、ドライブの名称であるアルファベット1文字にコロン(:)をつけて記述します。
Cドライブのルートディレクトリを表すには、「C:¥」のようにコロンの後に、「¥」を記述します。
エクスプローラなどで言うアドレスの記述・表記の方法で、コマンドプロンプトではコンピュータ内
での場所をパスといい、パスを記述した文字列をパス名といいます。
C:¥aaa¥bbb¥ccc
上の例では、「C」Cドライブがあり、「¥」ルートディレクトリがあり、「aaa」ルートディレクトリに
aaaというサブディレクトリがあり、aaaディレクトリに「bbb」bbbというサブディレクトリがあり、
bbbディレクトリに「ccc」cccというサブディレクトリがあります。
(ディレクトリとディレクトリの間の¥は区切り文字)
では、cccディレクトリにファイルがある場合にはどう記述すればいいのでしょう?
C:¥aaa¥bbb¥ccc¥ddd.txt
上記のように、パス名を含めたファイル名をフルパス名といい、コマンドプロンプトではフルパス名でファイル
を指定しなければいけないことがたびたびあります。
ファイル名を指定する際に、いちいちフルパス名で指定するのは大変です。そこで、コマンドプロンプトでは
その時点で作業を行っているディレクトリにおいては、コマンドやファイル名などはパス名を省略することが
許されています。
その時点で作業を行っているディレクトリをカレントディレクトリと呼びます。
その起点となるカレントディレクトリから、目的のファイルやディレクトリまでの道筋を相対的に考えるのが
相対パスです。
例えば、Cドライブのカレントディレクトリが「C:¥aaa¥bbb」であり、Dドライブのカレントディレクトリが
「D:¥ccc」であった場合に、Cドライブのカレントディレクトリにある「ddd.txt」をDドライブのカレントデ
ィレクトリにコピーするには、以下の2通りのコマンド入力があります。
C:¥aaa¥bbb>copy C:¥aaa¥bbb¥ddd.txt D:¥ccc
C:¥aaa¥bbb>copy ddd.txt D:
どちらでもよいのですが、この場合下の記述の方がはるかに楽です。相対パスは各ドライブの
カレントディレクトリ同士、あるいはカレントディレクトリの1つ上の階層、さらにその上の階層
・・というように、起点を中心に考えて記述する方法です。
相対パスの考え方で記述すると、カレントディレクトリは「.」1つ上の階層は「..」、さらにその上は「..¥..」となります。
C:¥aaa¥bbb>cd .. カレントディレクトリを現在より1つ上の階層に
C:¥aaa¥bbb>cd ..¥.. カレントディレクトリを現在より2つ上の階層に
C:¥aaa¥bbb>cd ccc カレントディレクトリを1つ下のcccディレクトリに
なお、ファイルやディレクトリをフルパス名で記述するのは絶対パスと言います。
当然のことながら、絶対パスは使っているコンピュータで唯一つだけ存在するものです。
コマンドプロンプトでは、1バイトスペースはパラメータやオプションスイッチの区切り文字として使われます。
そのため、ファイル名やディレクトリ名に1バイトスペースが含まれていると、
パラメータと誤解されてエラーが生じてしまいます。
そのため、それらをダブルクォーテーションでくくる必要があります。
コマンドプロンプトから実行できるコマンドには2種類あり、1つはコマンドインタープリタのcmd.exeに内蔵されて
いるコマンドと、もう1つはディスクに保存されているコマンドです。
内蔵されているコマンドはビルトインコマンドとも言われ、プログラムファイルとしては存在していないが、cmd.exe
が起動しているコマンドプロンプトでは、ただちに使う事ができます。もうひとつはプログラムファイルとしてディスクに
存在しているものです。
内臓コマンド以外のコマンドやプログラムが実行するためには以下の条件のいずかを満たさなければなりません。
- プログラムファイルがカレントディレクトリに存在する
- プログラムファイル名をフルパス名で指定する
- プログラムファイルが存在するパス名が、環境変数に定義されている
環境変数とはWindowsシステムに設定されている変数の事です。Windowsで動くプログラムが参照するための
各種の設定が記録されており、環境変数は複数存在するし、追加・削除することもできます。
コマンドプロンプトにおいて、WINDOWS¥SYSTEM32ディレクトリ、またはWINNT¥SYSTEM32ディレクトリに
あるコマンドがカレントディレクトリに存在していない、もしくはフルパス名で指定していなくても起動できるのは、
環境変数にあらかじめ登録されているからです。
環境変数の設定を変更するには2つの方法があります。
- コマンドプロンプトでSETコマンドを使う (一時的)
- GUI環境のシステムのプロパティで変更する (恒久的)
システムのプロパティで変更するには、マイコンピュータを右クリック、システムのプロパティの詳細設定タブにある、
環境変数ボタンをクリックして行います。
環境変数の設定を変更するには、設定を変更したい変数名を選択し、編集ボタンをクリックします。
システム変数の編集ダイアログボックスが表示されるので、変数値を設定してOKボタンをクリックすればOKです。
ただ、環境変数はWindowsというOSの動作に深く関わっているので、
間違った設定をしないように注意して行わなければなりません。