错误:“不被识别为内部或外部命令、可运行程序或批处理文件”

Posted

技术标签:

【中文标题】错误:“不被识别为内部或外部命令、可运行程序或批处理文件”【英文标题】:Error: "is not recognized as an internal or external command, operable program or batch file" 【发布时间】:2018-06-27 13:06:07 【问题描述】:

每当我尝试从 Windows cmd.exe 终端运行 mycommand.exe 时,我都会收到此错误:

''mycommand.exe' 不是内部或外部命令、可运行程序或批处理文件'

那么

我在尝试运行C:\Program Files\My-App\Mobile.exe时也遇到了类似的错误

''C:\Program' 不是内部或外部命令、可运行程序或批处理文件'

【问题讨论】:

【参考方案1】:

这是 *** 上非常常见的问题。

这里重要的部分不是错误中显示的命令,而是实际错误告诉你的内容。

快速细分为什么会收到此错误。

cmd.exe 作为终端窗口依赖于输入和系统环境变量,以便执行您要求它执行的操作。它不知道所有内容的位置,也不知道何时区分由空格分隔的命令或可执行文件名称,例如 spacetab 或带有空格的命令切换变量。

我该如何解决这个问题:

当实际命令/可执行文件失败时

首先我们确定,可执行文件真的安装了吗?如果是,继续其余的,如果不是,先安装它。

如果您尝试从cmd.exe 运行任何可执行文件,那么您需要告诉cmd.exe 该文件所在的位置。有两种方法可以做到这一点。

    指定文件的完整路径。

    "C:\My_Files\mycommand.exe"

    将文件的位置添加到您的环境变量中。

转到: ------> 控制面板-> 系统-> 高级系统设置-> 环境变量

System Variables 窗口中,找到path 并选择edit

现在只需将您的路径添加到字符串的末尾,用分号; 分隔为:

;C:\My_Files\

保存更改并退出。您需要确保您打开的任何cmd.exe 窗口都被关闭并重新打开,以允许它重新导入环境变量。 现在您应该能够从cmd.exe 内的任何路径运行mycommand.exe,因为环境知道它的路径。

C:\Program 或类似失败时

这是一个非常简单的错误。在cmd.exe 终端中,空格后的每个字符串都被视为不同的命令,您只需将整个路径用双引号括起来,cmd.exe 就可以将其视为单个字符串,而不是单独的命令。

所以要执行C:\Program Files\My-App\Mobile.exe,只需运行如下:

"C:\Program Files\My-App\Mobile.exe"

【讨论】:

有效!我必须重新启动电脑才能使更改生效。 @barto。无需重启电脑。您只需要关闭 cmd.exe 并重新打开它即可读取新环境。但很高兴这有帮助。 :) @Gerhard 非常感谢您的解决方案,拯救了我的一天。通过设置脚本的完整路径,能够同时运行 npm 包。像魅力一样工作!【参考方案2】:

当您想从命令提示符运行可执行文件、(cmd.exe) 或批处理文件时,它将:

在当前工作目录中搜索可执行文件。 在%PATH% 环境变量中指定的所有位置搜索可执行文件。

如果在这两个选项中都没有找到该文件,您将需要:

    指定可执行文件的位置。 将工作目录更改为包含可执行文件的目录。 通过附加地址将位置添加到%PATH%(建议仅极其谨慎)

您可以从命令提示符Echo %Path% 查看%PATH% 中指定的位置。

由于您报告的错误,我们可以假设Mobile.exe 不在当前目录或%Path% 变量中指定的位置,因此您需要使用1.2.3.

1. 的示例

C:\directory_path_without_spaces\My-App\Mobile.exe

或:

"C:\directory path with spaces\My-App\Mobile.exe"

你也可以试试:

Start C:\directory_path_without_spaces\My-App\Mobile.exe

Start "" "C:\directory path with spaces\My-App\Mobile.exe"

其中 "" 是一个空标题,(您可以选择在这些双引号之间添加一个字符串)。

2. 的示例

CD /D C:\directory_path_without_spaces\My-App
Mobile.exe

CD /D "C:\directory path with spaces\My-App"
Mobile.exe

您还可以使用 /D 选项和Start 来更改要通过启动命令运行的可执行文件的工作目录

Start /D C:\directory_path_without_spaces\My-App Mobile.exe

Start "" /D "C:\directory path with spaces\My-App" Mobile.exe

【讨论】:

关于附加到路径 - 值得一提的是,您可以附加到用户路径,然后将其附加到系统路径。在很多网站上,如果不请求业务合理的管理员权限,您无论如何都无法更改系统设置,但您可以更改您的用户变量。 @William,我没有兴趣提供有关修改 %PATH% 变量内容的建议。我不希望给人的印象是,当其他选项可用时,我建议更改它们。 Gerhard 就如何更改该系统变量提供了一些建议,也许您的信息是针对他的! 也许吧,但我对建议的反应非常谨慎,因为有两条路径需要两个级别的谨慎。 @William,我不提供建议,(我从不需要在任何版本的操作系统上更改变量内容)。如果您想添加一个新答案,并附上您对更改它的建议,请随意。

以上是关于错误:“不被识别为内部或外部命令、可运行程序或批处理文件”的主要内容,如果未能解决你的问题,请参考以下文章

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理