Windows命令行:'未被识别为内部或外部命令,可运行程序或批处理文件。


10

当我在Windows 7中运行cmd时(通过键入'cmd'Windows运行),以下错误显示:

在此输入图像描述

'-p'不被识别为内部或外部命令,可操作程序或批处理文件。

我已经尝试在环境变量中检查PATH。跑步echo %PATH%给我以下内容:

C:\ Windows \ System32下; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0; C:\ XAMPP \ PHP;

我检查了PATH指向的所有目录。一切似乎都到位了。我无法理解的'-p'是被称为的地方。我认为它与cmd它有关,因为它只在我打电话时出现cmd而不是在我跑步时,ipconfig或者ping例如。


你怎么运行'cmd'?您是否在搜索框中执行快捷方式或输入“cmd”?
西蒙

@Simon,我使用Windows Run运行它。我更新了这个问题。
nmenego 2013年

检查PATH中列出的每个目录,对于cmd。* - 也许这将提供一个线索
StevenV 2013年

这家伙:stackoverflow.com/questions/10077689 / ...前有一个空格; 在路径声明中。
edelwater 2013年

@edelwater那里的情况略有不同; 那个家伙试图运行一个叫做的程序R,这应该是在他的路上,但不是,因为那个错误。这种情况是命令处理器(cmd)本身在启动时引发错误 - 并且启动成功。然而,导致它的问题可能是相同的; 我不会打折...
鲍勃

Answers:


11

您可能在注册表中设置了“AutoRun”命令。有两个注册表项,每个用户一个,每个计算机一个,可以定义每次启动命令处理器(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路径中的s 列表。如果除了/之前有/之外C:\Windows\System32\cmd.exe,您可能希望删除它们,或从PATH环境变量中删除它们的路径。


我尝试执行cmd /d,正如预期的那样,问题就消失了。然后我检查了注册表,并找到了HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun一些关于ANSICON的命令字符串。我最后一次删除它时无法将其删除。我只是删除了钥匙!这是一个很棒的答案!
nmenego 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.