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


10

Windows 7でcmdを実行すると('cmd'Windows Runと入力して)、次のエラーが表示されます。

ここに画像の説明を入力してください

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

環境変数のPATHをチェックしてみました。実行echo %PATH%すると次のようになります。

C:\ Windows \ System32; C:\ Windows; C:\ Windows \ System32 \ WindowsPowerShell \ v1.0; C:\ xampp \ php;

PATHが指すすべてのディレクトリを確認しました。すべてが整っているようです。私が理解できないのは、どこ'-p'で呼び出されているかです。たとえば、やを実行したときではなく、cmd電話をかけたときにだけ出てくるので、何か関係があると思います。cmdipconfigping


「cmd」はどのように実行しますか?ショートカットを実行するか、検索ボックスに「cmd」と入力しますか?
Simon

@Simon、私はWindows Runを使用して実行しています。質問を更新しました。
nmenego 2013年

PATHでそこにリストされている各ディレクトリをチェックして、cmd。*がないか確認します-おそらくそれが手掛かりになるでしょう
StevenV

この男:stackoverflow.com/questions/10077689/…の前にスペースがありました。パスステートメント内。
edelwater 2013年

@edelwater少し異なるケースがあります。その男は呼ばれるプログラムを実行しようとRていましたが、その間違いのために、彼の道にはあったはずですが、そうではありませんでした。この場合は、コマンドプロセッサ(cmd)自体が起動時にエラーを発生させ、起動は成功しました。それでも、それを引き起こした問題は同じかもしれません。私はそれを割引しません...
ボブ

回答:


12

レジストリに 'AutoRun'コマンドが設定されている可能性があります。ユーザーごとに1つとコンピューターごとに1つの2つのレジストリキーがあり、コマンドプロセッサ(cmd.exe)が起動するたびに実行されるコマンドを定義できます。実際にはにリストされていcmd /?ます。

とにかく、実行cmd /dしてみて、同じメッセージが表示されるかどうかを確認してください。/dフラグ手段は、このテストのために完璧になり、「自動実行コマンドを実行しないでください」。

レジストリ値は次のとおりです。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

両方を確認してください。デフォルトでは、どちらも存在しないはずです。コマンド文字列を修正するか、完全に削除することもできます。

関連:http : //blogs.msdn.com/b/oldnewthing/archive/2007/11/21/6447771.aspx


または、のcmd代わりに実行される、という名前のバッチスクリプトまたは同様の設定を行うこともできますcmd。コマンドwhere cmdcmd実行して、パス内ののリストを実行順に出力します。の前/前のものがC:\Windows\System32\cmd.exeある場合は、それらを削除するか、PATH環境変数からパスを削除することができます。


実行cmd /dしてみたところ、予想通り、問題は解消しました。その後、レジストリを確認したところHKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun、ANSICONに関するコマンド文字列が見つかりました。前回削除したときは削除できませんでした。鍵を外しただけ!これは素晴らしい答えです!
nmenego 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.