MS-DOSでは、コンピュータに「ああしろ、こうしろ…」とユーザが指示をするとき、キーボードからコマンドを入力し、それに対してコンピュータは、画面に結果を表示します。
 しかし、コマンドを実行したとき、その結果をファイルに出力できたら、便利だと思いませんか?そして、キーボードから入力する代わりに、ファイルから入力することができれば、これもかなり便利です。これを行う方法を「リダイレクト」といいます。

[余談その2]性格なリダイレクトの定義
 なになに、TomG君、ちょっと違うんじゃないの・・・。
はいはい、実は上の説明はちょっと足りないんですが、これを正確に説明しようとすると、この講座を読んでくれている人のほとんどが逃げてしまいそうなので、おおざっぱに説明しています。
 性格には、リダイレクトとは、
「標準入出力を、他のデバイスやファイルに切り替える」
ことをいいます。
[余談終わり]

 リダイレクトには大きく分けて二つの種類があります。
 一つは「出力のリダイレクト」というもので、画面へ出力される情報を、ファイルに出力します。

 たとえば、ファイルやディレクトリの情報を表示する「DIR」コマンドでは、ディレクトリやファイルの数が多くなると、その情報は画面には収まりきれなくなります。そこで、その情報をファイルに出力する(リダイレクトする)には、次のようにします。

DIR >DIR.TXT リターンキー

このようにすると、画面には何も表示されずに、プロンプトの状態に戻ってきますが、ここで次のようにして、「DIR.TXT」の内容を確認してみてください。

TYPE DIR.TXT リターンキー

どうですか?この内容は、普通に「DIR」だけを入力してリターンキーを押したときの画面表示と同じですね。
これが出力のリダイレクトです。
 でも・・・これではもし万が一「DIR.TXT」がすでに存在していた場合、上書きされて元のファイルが消えてしまいます。そこで、元のファイルの後ろに、「DIR」コマンドの出力結果を追加したいときは、次のようにします。

DIR >>DIR.TXT リターンキー

 このように「>>」と二つ重ねて指定すると、元のファイルが上書きされてなくなってしまうことはありません。

 それから、この「>」マークの次に指定できるもので、ファイルとは違った特殊なものがあります。
 PRN(プリンタ)、CON(キーボードもしくは画面)、AUX(RS232C)、NUL(ダミー)
 たとえば、「DIR」の結果を、印刷したいときは、次のようにします。

★注意★WindowsのMS-DOS プロンプトでは実行しないでください。

DIR >PRN リターンキー

 このようにすると、プリンタが動き出すと思いますが、環境によってはうまく動作しない可能性があります。

 もう一つのリダイレクトは、「入力のリダイレクト」です。これは、キーボードから入力する代わりに、ファイルから入力するものです。

 この例はなかなかないのですが、MS-DOSの外部コマンドに「SORT」というのがあります。このコマンドは、ほかのコマンドとはちょっと雰囲気の違うコマンドです。ためしに、次のように入力してみてください。

SORT リターンキー

 あれっ?何も起こりません。しかし・・・何かが変です。
 実はこのコマンドは、標準出力(キーボードなど)から読み込んだ行を、並べ替えるコマンドなのです。
 みなさんのハードディスクの中には、先ほどの実験で作成した「DIR.TXT」があるはずですので、次のようにしてみてください。

SORT <DIR.TXT リターンキー

 いかがですか?「DIR.TXT」が順番に並べられ、画面に表示されましたよね?
もし、この結果をファイルに出力したければ、

SORT <DIR.TXT >DIRSORT.TXT リターンキー

のようにします。


 次に、ちょっとリダイレクトとにたような機能に「パイプ」というのがあります。
 これは、コマンドの結果を、次のコマンドに送り込む方式で、コマンドの間を「|(縦線)」記号でつなぎます。

 たとえば、「DIR」コマンドの結果を、順番に表示したいときは、次のようにします。

DIR | SORT リターンキー

 これは、「DIR」コマンドの結果を、「SORT」コマンドに渡して処理してから、画面に表示しています。
 パイプとリダイレクトは、次のように組み合わせて使用できます。

DIR | SORT >TEST.TXT リターンキー

 このようにすると、「DIR」コマンドの出力が「SORT」コマンドによって順番に並べられ、それが「TEST.TXT」へ出力されます。

 パイプとリダイレクトは、ちょっと難しそうですが、覚えておくと大変便利ですので、みなさんもいろいろと実験してみてください。

次へ

メニューに戻る