« MySQLの再起動をbatファイルで行う MySQL

サイトの構成を考える MovableType5 »

コマンドプロンプトでコマンドが実行できない その他

JavaやMySQLをインストールする場合、環境変数の「Path」を書き換えることになるのですが、その際に既に設定してあるものを削除してしまうとトラブルの原因となります。

よくあるのがコマンドプロンプトでコマンドを実行できなくなるトラブルです。

環境変数の登録方法

  • 「コントロール パネル>システム」
  • 「マイコンピュータを右クリック>プロパティ」
  • 「Winキー+Pause/Break」

上記の方法で表示した「システムのプロパティ」内の「詳細設定」タブにある「環境変数」ボタンで環境変数の登録を行えます。

基本的なコマンドの実行方法

自分のいるディレクトリ>実行ファイル名

トラブル例

Javaをインストールした際、既存の環境変数を下記のように上書きしてしまった場合

.;C:\Program Files\Java\jdk1.6.0_05\bin;

IPアドレスを確認しようとコマンドプロンプト上で「ipconfig」コマンドを実行するとエラーがでます。

C:\>ipconfig
「C:\(Cドライブ)」直下、もしくは環境変数に登録されたディレクトリ内にある「ipconfig.exe」を実行しにいく
環境変数に「C:\WINDOWS\system32」がないので実行できずにエラーになる

'ipconfig' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

「ipconfig」コマンドは環境変数に登録されている「C:\WINDOWS\system32」内で実行されるのに、その環境変数を削除してしまったことで起きたエラーです。
なので、環境変数にコマンド実行ファイルが置かれたディレクトリのパスを追加しましょう。

C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS\System32\Wbem;

※「ipconfig」コマンドの実行であれば「C:\WINDOWS\system32;」のみを環境変数に登録すれば対応できますが、上記には登録しておいたほうがよい主要パスが含まれています。
※「ipconfig」コマンドは「C:\WINDOWS\system32\ipconfig.exe」を実行しています。なので、環境変数に「C:\WINDOWS\System32;」が登録されていなくても、下記のようにディレクトリを「C:\WINDOWS\System32」に移動すれば「ipconfig」を実行できます。

C:\>cd C:\WINDOWS\system32
cd(チェンジディレクトリ)で、自分のいるフォルダを「C:\WINDOWS\system32」へ移動

C:\WINDOWS\system32>ipconfig
「C:\WINDOWS\system32」内の「ipconfig.exe」を実行

Windows IP Configuration


Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 172.19.10.5
        Subnet Mask . . . . . . . . . . . : 255.255.0.0
        Default Gateway . . . . . . . . . : 172.19.0.1

ですが、この方法だと「ipconfig」を実行するたびにディレクトリを「C:\WINDOWS\System32」に移動しなければいけません。それは面倒なので、環境変数にパスを登録しディレクトリ移動させなくても環境変数に登録されているパス直下のファイルはファイル名のみで実行できるようにしているのが環境変数の役目です。

もちろんJavaのパスも残しておくので、最終的に以下のパスが登録されていることになります。

.;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.6.0_05\bin;

これでどのディレクトリからでも「C:\WINDOWS\system32」直下のコマンドを実行できるようになります。
下記のように現在のディレクトリがCドライブでも「ipconfig」を実行できるようになりました。

C:\>ipconfig
「C:\(Cドライブ)」直下、もしくは環境変数に登録されたディレクトリ内にある「ipconfig.exe」を実行しにいく
環境変数に「C:\WINDOWS\system32」が登録されているので実行できる

Windows IP Configuration


Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 172.19.10.5
        Subnet Mask . . . . . . . . . . . : 255.255.0.0
        Default Gateway . . . . . . . . . : 172.19.0.1

尚、現在環境変数に登録されているパスを調べるには「path」コマンドを使用しましょう。

C:\>path
PATH=.;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.6.0_05\bin;