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

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

Advertisement

当我在Windows 7中运行cmd时(在Windows运行中输入'cmd'),显示以下错误。

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

我试过检查环境变量中的PATH。运行echo %PATH%得到以下结果。

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

我检查了PATH指向的所有目录。所有的东西似乎都是正确的。我不明白的是'-p'被调用的位置。我想这与cmd有关,因为它只在我调用cmd时出现,而不是在我运行ipconfigping等时出现。

Advertisement

答案 (1)

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

有可能是你在注册表中设置了一个 “自动运行 "命令。有两个注册表键,一个是每个用户,一个是每个计算机,可以定义每次启动命令处理器(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之外/之前的,你可能希望删除它们,或者从你的PATH环境变量中删除它们的路径。

Advertisement