web-dev-qa-db-ja.com

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

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

enter image description here

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

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

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

PATHが指すすべてのディレクトリを確認しました。すべてが整っているようです。理解できないのは、'-p'が呼び出されている場所です。 cmdを呼び出すときにのみ出て、cmdまたはipconfigを実行したときに出ないので、それはpingと関係があると思います。例えば。

10
nmenego

レジストリに '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 cmdを実行して、パス内のcmdsのリストを実行順に出力します。 C:\Windows\System32\cmd.exeの前/前以外がある場合は、それらを削除するか、PATH環境変数からそれらのパスを削除します。

12
Bob