如何修复“未被识别为内部或外部命令”错误

如果您在尝试在命令行中执行某些操作、更新应用程序或安装新应用程序时遇到应用程序或命令“未被识别为内部或外部命令”错误,那么您并不孤单。当 Windows 环境变量发生更改时会发生这种情况,这会阻止命令运行。

如何修复“未被识别为内部或外部命令”错误

您实际上可以尝试做任何事情,甚至可以运行基本的 CMD 命令或更新您的防病毒软件。如果变量已更改,Windows 将无法执行该命令。如果您遇到这种情况,有几种方法可以处理。

此错误有两个版本。一种用于通用程序,一种用于尝试使用 CMD 命令。我会告诉你如何解决这两个问题。

如何修复“未被识别为内部或外部命令”错误 2

修复“无法识别命令”错误

错误语法通常类似于“Program.exe 未被识别为内部或外部命令”。语法取决于您当时正在做什么,这很重要,因为我们必须在做任何其他事情之前检查安装文件。

  1. 导航到您尝试使用的程序的安装文件,并确保存在可执行文件。
  2. 导航到控制面板、系统和安全以及高级系统设置。
  3. 选择环境变量按钮。
  4. 在新窗口底部的系统变量窗格中选择路径。
  5. 选择编辑,将出现一个新窗口。
  6. 确保存在“%SystemRoot%System32”和“C:WindowsSystem32”。
  7. 将一个值复制到记事本。
  8. 将“环境变量”窗口中的条目更改为其他内容,然后单击“确定”。
  9. 用记事本中的原始值替换您刚刚更改的值,然后单击“确定”。
  10. 对另一个值执行相同操作。

如果您了解 Windows,您就会知道有时您需要做的就是重新输入一个值以使其再次被拾取。我认为这是将它再次链接到 Windows 内部数据库中,但谁知道呢。

将值粘贴到记事本中可以节省时间并保留正确的语法,如果您在执行此任务时受到干扰,或者您忘记了它的样子。只需单独剪切和粘贴每一个并将环境变量中的值更改为任何值。然后粘贴原始值并确认。这对于您尝试再次工作的原始命令来说应该足够了。

你们中间的老鹰可能会注意到‘%SystemRoot%System32’和‘C:WindowsSystem32’指向同一个位置。对于那些使用旧系统的人来说,这是一个遗留条目。可以说你不需要两者,但 Windows 似乎仍然单独引用它们。 Systemroot 主要用于同时使用 WINNT 和 Windows 文件夹的系统,这已不再适用。但是,即使在 Windows 10 中也需要存在两者。

如何修复“未被识别为内部或外部命令”错误-3

修复“无法识别 CMD 命令”错误

如果您尝试运行 CMD 命令并看到“CMD 未被识别为内部或外部命令”,那可能是不同的。尝试上述修复可能会奏效,但问题可能是由几个中断正常命令链的注册表项引起的。

不知何故,如果您在注册表中设置了 AutoRun,某些 CMD 命令(例如 ping 或 nslookup)将不会总是有效。他们返回上面的错误。 .exe 存在,一切看起来都正确,但这两个小条目正在毁了你的一天。

这些注册表项是:

HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun

HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun

这个问题至少有十年历史了。我有一个 2007 年的 MSDN 博客条目的书签,我保存了它来说明这一点。

  1. 导航到 C:WindowsSystem32 并确保 CMD 可执行文件存在。
  2. 如上所述执行环境变量检查。如果这不能解决它,请继续。
  3. 运行命令‘cmd /d’,这显然会停止自动运行的运行。如果消息相同,请继续。
  4. 找到上面列出的那两个注册表项并删除它们。

这个修复很旧但很金。我曾经在一家知名有线电视公司做 IT Admin 时使用过这个。这就是为什么我仍然把它作为书签。 “命令未被识别为内部或外部命令”错误已经存在了那么长时间,据我所知,即使在五代 Windows 之后,修复仍然相同。尽管如此,如果您确实遇到了错误,至少您现在知道该怎么做。

您最后一次在 Windows 中看到“未被识别为内部或外部命令”错误是什么时候?您是否使用了这些解决方案之一或其他解决方案?