コマンドプロンプトのデバイスファイル

toc目次

デバイスファイルとは

デバイスファイルは、通常のファイルとは異なる挙動を行うファイルで、標準入力や標準出力、プリンター、コンソールなどへのアクセスを提供します。

コマンドプロンプトの主なデバイスファイル一覧

CON(CONSOLE)

コンソールデバイス。入力はキーボードで、出力はコマンドプロンプトの画面となります。

以下はコンソールに入力した文字をテキストファイル(sample.txt)にコピーして、それを表示する例です。(※ コンソールで入力を終了する場合はCtrl + Zキーを押します。)

> copy CON sample.txt
こんにちは^Z
        1 個のファイルをコピーしました。

> type sample.txt > CON
こんにちは

通常、プロンプトの出力先はCONとなるので、以下は同じ結果となります。

> echo Hello
Hello

> echo Hello > CON
Hello

NUL

ヌルデバイス(ナルデバイス)。特定の出力を破棄するために使用されます。

たとえば、pauseコマンドは「続行するには何かキーを押してください . . .」と表示をしてユーザーがキー入力をするまで処理を一時停止しますが、「pause > NUL」とするとメッセージを表示せず処理を一時停止できます。

> pause
続行するには何かキーを押してください . . .

> pause > NUL

また、NULはバッチ処理で出力を非表示にしたい場合などに使われます。

@echo off

:: 標準出力とエラー出力を非表示
mkdir test > nul 2>&1

pause

PRN(PRINTER)

プリンターデバイス。
デフォルトのプリンターへの出力先を指します。

COM1 - COM9(COMMUNICATION)

シリアルポートデバイス。
現在のWindows環境ではほとんど使用されません。

LPT1 - LPT9(LINE PRINT TERMINAL)

パラレルポートデバイス。
現在のWindows環境ではほとんど使用されません。

AUX(AUXILIARY)

補助デバイス。
現在のWindows環境ではほとんど使用されません。

まとめ

CONNUL以外のデバイスファイルは、過去の歴史的な理由から残されているもので、現在のWindowsシステムではほとんど使用されません。