北アラバ公国

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

スポンサーサイト

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

コマンドプロンプトでの日本語入力

Windowsコマンドプロンプトで日本語を入力しようとした時、いつもの感覚でキーボード左上にある

漢字」キー

を押して日本語入力機能をONにしようとしても、何故かONにならないことがあると思います。そんな時は、

ALT」キー+「漢字」キー

を押すと、コマンドプロンプトの画面右下に
全あ連ローマ
と表示されて、日本語が入力できるようになります。是非お試し下さい。

<公爵の独り言>
そういえば、昔は「ALT」キー+「漢字」キーで日本語入力をONにしていたような・・・。いつから「漢字」キー単独になったんだろう・・・。

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

  1. 2008/06/03(火) 20:21:44|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトにおける内部コマンドと外部コマンド

WindowsコマンドプロンプトコマンドやMS-DOSのコマンドは、「内部コマンド」と「外部コマンド」に分類されます。

簡単に説明すると、入力されたコマンドを解釈して実行する「コマンドインタープリタ(cmd.exeやcommand.com)」に格納され、「コマンドインタープリタ」さえあれば実行可能なコマンドが「内部コマンド」、別のプログラムとして用意されているコマンドが「外部コマンド」となります。以下に、Windowsコマンドプロンプトで利用可能な主な「内部コマンド」、「外部コマンド」を紹介致します。

<主な内部コマンド
chdir(cd)
copy
del
dir
mkdir(md)
rename(ren)
rmdir(rd)
type
ver
verufy
vol

<主な外部コマンド
arp(arp.exe)
diskcopy(diskcopy.com)
fc(fc.exe)
find(find.exe)
format(format.com)
ftp(ftp.exe)
help(help.exe)
hostname(hostname.exe)
ipconfig(ipconfig.exe)
label(label.exe)
more(more.com)
nslookup(nslookup.exe)
print(print.exe)
sort(sort.exe)
subst(subst.exe)
telnet(telnet.exe)
tracert(tracert.exe)
tree(tree.com)

システム管理上絶対に必要なコマンドは「内部コマンド」、追加機能的なコマンドは「外部コマンド」になっている傾向があります。これは、「コマンドインタープリタ」を巨大化させない配慮や、あえて「外部コマンド」にしておくことにより、機能強化やバグ改修によるコマンドの差し替えをしやすくしているのかもしれません(想像ですが・・・)。

<公爵の独り言>
私は中学生の頃にパソコンを触り初めたのですが、お金が無くてMS-DOSのシステムディスクが買えませんでした(どこで買えるかも知らなかった)。そこで、中学校にあったワードプロセッサ「一太郎」のシステムディスクを使って「format b: /s」を実行し、MS-DOSのコマンドインタープリタしか入っていないMS-DOS起動ディスクを作って内部コマンドを勉強しました。

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

  1. 2008/06/02(月) 05:55:00|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

2つのコマンドプロンプト

Windows NT系のOSには、コマンドプロンプトが2つあります。

1.【cmd.exe】
通常、「コマンドプロンプト」として起動されるのは「cmd.exe」です。「スタートボタン」→「ファイル名を指定して実行」で名前を入力するボックスに
cmd.exe
または
cmd
と入力して「OK」を押すと起動します。
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>
これはWindows NTから搭載された32ビットコマンドインタープリタです。

2.【command.com】
もうひとつのコマンドプロンプトは、「スタートボタン」→「ファイル名を指定して実行」で名前を入力するボックスに
command.com
または
command
と入力して「OK」を押すと起動します。
Microsoft (R) KKCFUNC バージョン 1.10
Copyright (C) Microsoft Corp. 1991,1993. All rights reserved.

KKCFUNC が組み込まれました.

マイクロソフトかな漢字変換 バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993

Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-1999.

C:\>
なんかいつものコマンドプロンプトとちょっと違うコマンドプロンプトが起動したと思います。これは、MS-DOS、Windows 95、Windows 98などで使われていた16ビットコマンドインタープリタです。かつて「MS-DOSプロンプト」、「DOSプロンプト」、「DOS窓」と呼ばれていたものです。

現在、コマンドインタープリタ32ビットの「cmd.exe」がその機能を提供しておりますが、古いアプリケーションの互換性を維持するために16ビットの「command.com」を今でも残しているそうです。ですので、「cmd.exe」で実行できても「command.com」では実行できない処理があるそうなので注意が必要です。尤も「コマンドプロンプト」自体が「cmd.exe」なので敢えて「command.com」指定しない限り起動することもありませんが、通常は「cmd.exe」を使うことをお勧めします。

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

  1. 2008/06/02(月) 05:08:07|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでディスクのボリュームラベル変更

Windowsコマンドプロンプトディスクボリュームラベルを変更する時には「labelコマンドを使います。使い方は簡単で、「labelコマンドの後ろに対象とするドライブ名を指定するだけです。では、ドライブC:の現在のボリュームラベルDISK-1-1」を「SYSTEM」に変更してみます。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)? SYSTEM

C:\>vol c:
ドライブ C のボリューム ラベルは SYSTEM です
ボリューム シリアル番号は 7777-7777 です

C:\>
上記の実行例で「ボリュームラベルが不要な時はEnterキーを押して下さい」と言う旨のコメントが出ておりますが、新しいボリュームラベルを指定せずにEnterキーを押すと、現在のボリュームラベルは削除されます。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)?

現在のボリューム ラベルを削除しますか (Y/N)? y

C:\>vol c:
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7777-7777 です

C:\>
なお、「現在のボリューム ラベルを削除しますか?」と言うところで「N」を選択するとボリュームラベルの変更をすることなく、「labelコマンドは終了します。
C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)?

現在のボリューム ラベルを削除しますか (Y/N)? n

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

C:\>
あと、ここまでのボリュームラベル変更は対話式に行いましたが、直接ドライブ名と新しいボリュームラベルを指定することで、コマンドライン1行で変更することも出来ます。
C:\>label c: system

C:\>vol c:
ドライブ C のボリューム ラベルは system です
ボリューム シリアル番号は 7777-7777 です

C:\>
ディスクのボリュームラベル、かつてフロッピーディスクがメインだった頃は、そのフロッピーディスクが何のディスクなのか判別できるようによく記入していたものですが、大容量ハードディスクがメインの現在ではあまり意識もされていないかも知れませんね。

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

  1. 2008/06/01(日) 20:56:10|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでのディスク情報表示

Windowsコマンドプロンプトで、ディスクのボリュームラベルやボリュームシリアル番号などのディスク情報を確認する時は「volコマンドを使います。使い方は簡単で、「volコマンドの後ろに対象とするドライブ名を指定するだけです。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>vol d:
ドライブ D のボリューム ラベルは DISK-1-2 です
ボリューム シリアル番号は 7777-8888 です

C:\>
ディスクのボリュームラベル、かつてフロッピーディスクがメインだった頃は、そのフロッピーディスクが何のディスクなのか判別できるようによく記入していたものですが、大容量ハードディスクがメインの現在ではあまり意識もされていないかも知れませんね。

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

  1. 2008/06/01(日) 20:37:52|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでのファイル書き込みチェック

Windowsコマンドプロンプトにおいてファイル操作を行った時、そのファイルがちゃんとディスクに書き込まれたかどうかOSにチェックさせることが出来ます。その時使用するコマンドは、「verifyコマンドです。通常、この書き込みチェック機能は「OFF」になっております。現在の書き込みチェック状態を確認する時には、「verifyコマンドをオプション無しで実行します。
C:\>verify
VERIFY は <OFF> です。

C:\>
書き込みチェックを「ON」にする時には、「verifyコマンドに「on」オプションを付けて実行します。また、書き込みチェックを「OFF」にする時には、「verifyコマンドに「off」オプションを付けて実行します。
C:\>verify on

C:\>verify
VERIFY は <ON> です。

C:\>verify off

C:\>verify
VERIFY は <OFF> です。

C:\>
書き込みチェック機能を「ON」にしても「OFF」にしても画面に出力されるコマンドの実行結果やメッセージは何も変わりません。もしかすると、OSによる書き込みチェックのために少しだけパフォーマンスが落ちているかも知れませんが、体感できるレベルではありません。

そもそも、この「verify」コマンドはMS-DOS時代から存在しており、フロッピーディスクとフロッピーディスクドライブの信頼性がそれほど高くなかった時の名残のようなものなのです。ハードディスクが標準となっている現在のコンピュータにはあまり意味はないのかも知れません。でも安全性にこだわりたい時には、この機能を活かしてみるのも良いのではないでしょうか。

<公爵の独り言>
MS-DOS時代、「config.sys」か「autoexec.bat」に「verify」設定をする項目がありましたね。懐かしい・・・。

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

  1. 2008/06/01(日) 20:07:30|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

テキストファイル中の文字列を検索(抽出)

Windowsコマンドプロンプトにおいて、テキストファイルの中に指定する文字列があるかどうか検索(抽出)し、その結果を表示したい時には「findコマンドを使います。では実行例として、テキストファイルkanto.txt」の中から文字列「Tokyo」を含む行のみ抽出してみます。
C:\>cd \temp

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

C:\temp のディレクトリ

2008/06/01 19:16 <DIR> .
2008/06/01 19:16 <DIR> ..
2008/06/01 19:16 219 kanto.txt
1 個のファイル 219 バイト
2 個のディレクトリ 4,563,312,640 バイトの空き領域

C:\temp>type kanto.txt
茨城県,Ibaraki,水戸市,Mito
栃木県,Tochigi,宇都宮市,Utsunomiya
群馬県,Gunma,前橋市,Maebashi
埼玉県,Saitama,さいたま市,Saitama
千葉県,Chiba,千葉市,Chiba
東京都,Tokyo,新宿区,Shinjuku
神奈川県,Kanagawa,横浜市,Yokohama
C:\temp>find "Tokyo" kanto.txt

---------- KANTO.TXT
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
確かに検索され、抽出されました。しかし上記の方法の場合、「Tokyo」では検索されますが、「tokyo」と全て小文字の場合は検索されません。
C:\temp>find "tokyo" kanto.txt

---------- KANTO.TXT

C:\temp>
アルファベットの大文字、小文字関係なく検索対象にしたい場合は、「/i」オプションを付けて実行します。
C:\temp>find /i "tokyo" kanto.txt

---------- KANTO.TXT
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
大文字、小文字関係なく検索され、表示されました。その他、この「findコマンドには指定した文字列を含まない行のみ検索する機能もあります。その場合は「/v」オプションを付けて実行します。では、「Tokyo」を含まない行だけ抽出してみます。
C:\temp>find /v "Tokyo" kanto.txt

---------- KANTO.TXT
茨城県,Ibaraki,水戸市,Mito
栃木県,Tochigi,宇都宮市,Utsunomiya
群馬県,Gunma,前橋市,Maebashi
埼玉県,Saitama,さいたま市,Saitama
千葉県,Chiba,千葉市,Chiba
神奈川県,Kanagawa,横浜市,Yokohama

C:\temp>
東京都以外の行が抽出されました。あと、指定の文字列を含む行数のみ表示させたい場合には「/c」オプションを付けて実行します。
C:\temp>find /c "Tokyo" kanto.txt

---------- KANTO.TXT: 1

C:\temp>find /c "県" kanto.txt

---------- KANTO.TXT: 6

C:\temp>
最後に、「findコマンドは上記のように単独で実行するだけではなく、他のコマンドの実行結果を受け取って処理を実行する「パイプ処理」にも使えます。
C:\temp>type kanto.txt | find "Tokyo"
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
色々と使えるコマンドです。是非ご活用下さい。

<公爵の独り言>
UNIX系OSの「grep」コマンドと「wc」コマンドが一緒になったようなものですね。

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

  1. 2008/06/01(日) 19:38:41|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでファイル名やディレクトリ名を変更

Windowsコマンドプロンプトにおいてファイル名やディレクトリ名を変更したい場合は、「rename(ren)」コマンドを使います。では以下に実行例を示します。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:49 <DIR> .
2008/05/31 22:49 <DIR> ..
2008/05/31 22:43 <DIR> test
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>rename test1.txt test2.txt

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

C:\temp のディレクトリ

2008/05/31 22:51 <DIR> .
2008/05/31 22:51 <DIR> ..
2008/05/31 22:43 <DIR> test
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>rename test aaa

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

C:\temp のディレクトリ

2008/05/31 22:52 <DIR> .
2008/05/31 22:52 <DIR> ..
2008/05/31 22:43 <DIR> aaa
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>
確かにファイル名、ディレクトリ名が変更されました。また、本来はファイル名を変更するコマンドではありませんが、「moveコマンドでも同じディレクトリに別名で移動することにより、ファイル名やディレクトリ名の変更をすることが出来ます。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:54 <DIR> .
2008/05/31 22:54 <DIR> ..
2008/05/31 22:43 <DIR> aaa
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,143,104 バイトの空き領域

C:\temp>move test1.txt test2.txt

C:\temp>move aaa bbb
1 個のファイルを移動しました。

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

C:\temp のディレクトリ

2008/05/31 22:55 <DIR> .
2008/05/31 22:55 <DIR> ..
2008/05/31 22:43 <DIR> bbb
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,143,104 バイトの空き領域

C:\temp>
確かに変更されました。

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

  1. 2008/05/31(土) 22:59:38|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでディレクトリをドライブに割り当て!

Windowsコマンドプロンプトにおいては、指定のドライブの指定のディレクトリをドライブとして設定することが出来ます。この時使うコマンドは「substコマンド。では、実際にディレクトリ「c:\temp」をドライブz:」に割り当ててみます。
C:\>subst z: c:\temp

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

c:\temp のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
2 個のディレクトリ 4,611,317,760 バイトの空き領域

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

z:\ のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
2 個のディレクトリ 4,611,317,760 バイトの空き領域

C:\>
ドライブのボリュームラベルもボリュームシリアル番号もディレクトリ構造も中に入っているファイルも完全に一緒です。ディレクトリ「c:\temp」はドライブ「z:」に割り当てられました。なお、この状態でWindowsのエクスプローラを起動すると、ちゃんとドライブ「z:」が表示されます。また、「substコマンドをオプション無しで実行すると、現在どのディレクトリがどのドライブに割り当てられているかを確認できます。
C:\>subst
Z:\: => C:\temp

C:\>
最後に、ディレクトリのドライブへの割り当てを解除する時には「substコマンドに「/d」オプションを付けて、解除したいドライブ名を指定します。
C:\>subst /d z:

C:\>subst

C:\>dir z:\
指定されたパスが見つかりません。

C:\>
ディレクトリのドライブへの割り当てが解除されました。もうエクスプローラを起動してもドライブ「z:」はありません。このコマンド、普段はそれほど使わないと思いますが、作業するディレクトリ階層が深くて、絶対パスで指定するとかなりパス名が長くなる時に、対象のディレクトリをドライブに割り当てることによってパス名を短くするのに役立ちます。

<公爵の独り言>
ショートカットの作成みたいなものですね。

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

  1. 2008/05/29(木) 21:36:52|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0

コマンドプロンプトでの拡張子によるファイル実行順位

Windowsコマンドプロンプトにおいて、あるディレクトリの中に実行形式のファイルが4個ありました。
C:\>cd \temp

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

C:\temp のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 125 test1.bat
2008/05/27 23:55 125 test1.com
2008/05/27 23:55 125 test1.cmd
2008/05/27 23:55 125 test1.exe

1 個のファイル 500 バイト
2 個のディレクトリ 4,622,020,608 バイトの空き領域

C:\temp>
コマンドプロンプトにおいて実行形式のファイルを実行する時には、
C:\temp>test1.exe
拡張子まで指定する場合と、
C:\temp>test1
拡張子を省略して指定する場合があります。実行するファイル名を拡張子まで指定する場合は問題無いと思います。しかし、上記のようにファイル名は全て同じ「test1」でありながら拡張子がそれぞれ違う場合、
C:\temp>test1
と指定したらどの実行ファイルが実行されると思いますか? 実は実行形式のファイルは拡張子によって実行順位が決められております。この拡張子による実行順位環境変数PATHEXT」によって設定されております。
C:\temp>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>
ありました。これを見ると、拡張子による実行順位は「.com」が最優先で実行されるようになっております。ですから、
C:\temp>test1
と指定すると、数ある同名の実行ファイルの中から拡張子が「.com」である「test1.com」が実行されます。もし「test1.com」が存在しなければ「test1.exe」、「test1.exe」が無ければ「test1.bat」、「test1.bat」が無ければ「test1.cmd」が実行されるようになっております。

なお、この拡張子による実行順位環境変数として設定されているので、簡単に変更することが出来ます。
C:\temp>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>set pathext=.BAT;.CMD;.EXE;.COM;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>set pathext
PATHEXT=.BAT;.CMD;.EXE;.COM;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>
でもこれは一時的な変更ですので、恒久的な変更は「スタートボタン」→「設定」→「コントロールパネル」→「システム」→「詳細タブ」→「環境変数」にて行いましょう。

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

  1. 2008/05/29(木) 01:59:15|
  2. コマンドプロンプト
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。