こんなことを知りたい人へ向けて書いています
- Windowsバッチファイルで「fc」コマンドを実行できない
- 「fc」コマンドに限らず、コマンドを実行すると「’???’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と言われる
目次
とりあえず「fc」を実行する
稀に「fc」コマンドを実行しても、「’fc’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」とエラーが出る事例があるようです。(※「fc」コマンドは2つのファイルを比較するコマンドです。詳しくは「fc(ファイルの比較) -コマンド別解説-」を参照して下さい。
「fc」コマンドが使えない理由は複数考えられますが、一つはコマンドのパスが通っていないことが考えられます。ここから説明することは「fc」コマンドだけに限ったことではありません。別のコマンドについて実行できない場合も同様の方法で解決するかもしれません。
コマンドとはどこかのフォルダに「???.exe(???にはコマンド名が入ります)」という実行ファイル(コマンドファイル)が存在し、それを実行しているのです。ですので、「fc」コマンドというのは、どこかに存在している「fc.exe」を実行していることになります。※「.exe」の部分は実行時に省略可能です。
通常、Windowsコマンドプロンプトのコマンドはどこからでも呼び出せて実行できます。これが「パスが通っている」状態です。
しかし、何かが原因で「パスが通っていない」状況に陥るとコマンドファイルにたどり着けなくなり、コマンドが見つからない状態になってしまいます。これを解決するには、自分でパスを通してあげる必要があります。
「パスを通す」前に、コマンドのエラーが起きる原因が本当にパスが通っていないだけなのかを確認しましょう。というのは、いくらパスを通してもコマンドファイル自体がなければコマンドを実行することができないからです。
まずは、以下のコマンドを「fc」コマンドに変わりに使ってみてください。
1 |
C:\windows\System32\fc.exe [ファイル1] [ファイル2] |
これは「fc」のコマンドファイルのフルパス(絶対パス)を指定しています。パスについては、「絶対パスと相対パス -コラム-」を参照してください。つまり、直接ファイルの場所を指定してコマンドを実行しているのです。
「C:\windows\System32」フォルダに「fc.exe」というファイルが存在するか、直接確認してもよいでしょう(下図)。
これでうまくいく場合はコマンドファイル自体は存在し、ただパスが通っていないだけですので、次節からの設定を行えば正常に機能するようになるでしょう。
「fc」コマンドだけが使えない状態であれば、「fc」の代わりに「C:\windows\System32\fc.exe」を使えばそれでもよいかもしれません。特に、動作に違いはありません。
パスを通して、「fc」コマンドをちゃんと使えるようにする
「C:\windows\System32\fc.exe」を使うのは「めんどくさい」、「かっこ悪い」という方はちゃんとパスを通して、「fc」コマンドを使えるようにしましょう。私もちゃんとパスは通すべきだと思います。
ここでは、Windows7および10の場合を例に説明します。Windows7の方はすぐ下の見出しから初めて下さい。Windows10の方は「Windows10の場合」へ移動します。
Windows7の場合
まず、Windows7の方は左下のスタートボタンから「プログラムとファイルの検索」欄を表示し、そこに「コントロール パネル」と打ち込みます(下図)。
「コントロール パネル」を開くと、以下のウィンドウが立ち上がります。
次に、「システムとセキュリティ」を選択します。
すると、左の欄に「システムの詳細設定」という項目がありますので、それをクリックします(下図)。
クリックすると新しいウィンドウが立ち上がるので、「環境変数(N)」をクリックします。
すると再び新規ウィンドウが立ち上がりますので、下の「システム環境変数」欄の「Path」を選択し、「編集」を押して下さい。
ようやく最後の編集画面です(下図)。
「変数値」の欄の最後に、「;C:\windows\System32」を付け加えて「OK」をクリックし閉じます。開いているウィンドウを全て「OK」を押して終了します。
これで、パスを通す作業が完了しました。コマンドプロンプト画面を開いている場合は、一度閉じてから再び開き、「fc」コマンドを試してみて下さい。
どうでしょうか?実行できれば成功です。まだ正常に動作しない場合はパスが通っていない以外にも何か問題があると思われます。
Windows10の場合
Windows10の場合は左下に「ここに入力して検索」という入力欄が見つかると思います。ここに「システム環境変数の編集」と入力しましょう。すると、以下の画像のように最上部に「システム環境変数を編集」という項目が見つかるはずです。これをクリックします。
次に「システムのプロパティウィンドウ」から「環境変数」をクリックします。
すると、以下の環境変数を設定するウィンドウが開きますので、「システム環境変数」欄の「Path」を選択し「編集」をクリックします。
次に、「新規」ボタンをクリックします。
ここに、「C:\windows\System32\」と打ち込みましょう(下図)。
後は、「OK」ボタンを押して、すべてのウィンドウを閉じます。
これで、パスを通す作業が完了しました。コマンドプロンプト画面を開いている場合は、一度閉じてから再び開き、「fc」コマンドを試してみて下さい。
どうでしょうか?実行できれば成功です。まだ正常に動作しない場合はパスが通っていない以外にも何か問題があると思われます。