2013-03-26 14:04:23 +0000 2013-03-26 14:04:23 +0000
10
10
Advertisement

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

Advertisement

Windows7でcmdを実行すると(Windowsの実行で'cmd'と入力して)以下のようなエラーが出ます。

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

0x1&

’-p'は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。echo %PATH%を実行すると以下のようになります。 全て揃っているようです。よくわからないのは、'-p'がどこで呼ばれているのかということ。cmdを呼んだ時だけ出てきて、cmdipconfigを実行した時には出てこないので、pingと関係があるのではないかと考えています。

Advertisement

回答 (1)

12
12
12
2013-03-26 14:13:28 +0000

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

とにかく、cmd /d を実行してみて、同じメッセージが出るかどうか確認してください。/d フラグは「AutoRun コマンドを実行しないでください」という意味なので、これをテストするには最適です。

レジストリの値は以下の通りです。

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 コマンドを実行して、パス内の cmd のリストを実行順に表示してみてください。C:\Windows\System32\cmd.exe の前にあるもの以外の 0x6& がある場合は、それらを削除するか、PATH 環境変数からパスを削除してください。

Advertisement
Advertisement