北アラバ公国

UNIX、ORACLE、NETWORK等、IT、情報通信に関する話題と技術メモ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

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

Windowsコマンドプロンプトには「デバイスファイル」と言う特殊なファイルがあります。「デバイスファイル」とはどこかのディレクトリにあるファイルではなく、コンピュータのハードウェアデバイスを示すファイルです。「デバイスファイル」には「入力用デバイスファイル」と「出力用デバイスファイル」があり、以下のような機器が割り当てられています。

【入力用デバイスファイル
con:Console(キーボード)
aux:Auxiliary(外部入出力:RS-232C、シリアルポート)
com1com9:(外部入出力:RS-232C、シリアルポート)

【出力用デバイスファイル】
con:Console(画面)
prn:Printer(プリンタ
lpt1lpt9:Line Printer(プリンタ
aux:Auxiliary(外部入出力:RS-232C、シリアルポート)
com1com9:(外部入出力:RS-232C、シリアルポート)
nul:Null(Null)

通常、「入力用デバイスファイル」には「con(キーボード)」、「出力用デバイスファイル」には「con(画面)」がデフォルト(標準)のデバイスとして割り当てられており、特に指定しなければ入出力はデフォルトのデバイスが使われます。このデフォルトの「デバイスファイル」のことを「標準入出力」と呼びます。ですから、普段コマンドを実行しても特に実行結果の出力先は指定しておりませんが、それは出力先に「con(画面)」を指定していることとイコールなのです。
C:\>cd \temp

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/26 23:59 <DIR> .
2008/05/26 23:59 <DIR> ..
2008/05/27 00:00 35 aaa.txt
2008/05/26 23:12 <DIR> test1
1 個のファイル 35 バイト
3 個のディレクトリ 4,610,236,416 バイトの空き領域

C:\temp>dir > con
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/26 23:59 <DIR> .
2008/05/26 23:59 <DIR> ..
2008/05/27 00:00 35 aaa.txt
2008/05/26 23:12 <DIR> test1
1 個のファイル 35 バイト
3 個のディレクトリ 4,610,236,416 バイトの空き領域

C:\temp>
ですので、入出力の「デバイスファイル」を指定することによって、コマンドの実行結果を「con(画面)」ではなく「prnプリンタ)」に出力して印刷したり、「aux(RS-232C)」に出力してシリアルケーブルで接続した別のコンピュータに出力することも出来ます。以下の例の場合、最初はファイル一覧を出力デバイスファイル「con(画面)」に出力、次に出力デバイスファイル「prnプリンタ)」に出力します。
C:\temp>dir > con
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/26 23:59 <DIR> .
2008/05/26 23:59 <DIR> ..
2008/05/27 00:00 35 aaa.txt
2008/05/26 23:12 <DIR> test1
1 個のファイル 35 バイト
3 個のディレクトリ 4,610,236,416 バイトの空き領域

C:\temp>dir > prn

C:\temp>
以下の例の場合、最初はテキストファイルaaa.txtの内容を出力デバイスファイル「con(画面)」に出力、次に出力デバイスファイル「prnプリンタ)」に出力します。
C:\temp>type aaa.txt > con
11111
22222
33333
44444
55555

C:\temp>type aaa.txt > prn

C:\temp>
以下の例の場合、最初はテキストファイルaaa.txtをテキストファイルbbb.txtにコピー、次にテキストファイルaaa.txtを出力デバイスファイル「con(画面)」に出力、次に出力デバイスファイル「prnプリンタ)」に出力します。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/26 23:59 <DIR> .
2008/05/26 23:59 <DIR> ..
2008/05/27 00:00 35 aaa.txt
2008/05/26 23:12 <DIR> test1
1 個のファイル 35 バイト
3 個のディレクトリ 4,610,670,592 バイトの空き領域

C:\temp>copy aaa.txt bbb.txt
1 個のファイルをコピーしました。

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/27 23:06 <DIR> .
2008/05/27 23:06 <DIR> ..
2008/05/27 00:00 35 aaa.txt
2008/05/27 00:00 35 bbb.txt
2008/05/26 23:12 <DIR> test1
2 個のファイル 70 バイト
3 個のディレクトリ 4,610,670,592 バイトの空き領域

C:\temp>copy aaa.txt con
11111
22222
33333
44444
55555
1 個のファイルをコピーしました。

C:\temp>copy aaa.txt prn
1 個のファイルをコピーしました。

C:\temp>
最後に、出力デバイスファイル「nul(Null)」についてですが、「nul(Null)」は特殊な出力デバイスファイルで、ここに出力した内容はどこにも出力されずに消えます。
C:\temp>type aaa.txt > con
11111
22222
33333
44444
55555

C:\temp>type aaa.txt > nul

C:\temp>
デバイスファイル」は最初は取っつきにくいかも知れませんが、慣れるとなかなか使えます。上手く活用しましょう。

テーマ:コマンドプロンプト - ジャンル:コンピュータ

  1. 2008/05/27(火) 23:20:29|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0
<<コマンドプロンプトでテキストファイル作成 | ホーム | コマンドプロンプトでファイル削除>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://northaraba.blog17.fc2.com/tb.php/328-352a9cf8
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。