错误:“不被识别为内部或外部命令、可运行程序或批处理文件”
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
作为终端窗口依赖于输入和系统环境变量,以便执行您要求它执行的操作。它不知道所有内容的位置,也不知道何时区分由空格分隔的命令或可执行文件名称,例如 space 和 tab 或带有空格的命令切换变量。
我该如何解决这个问题:
当实际命令/可执行文件失败时
首先我们确定,可执行文件真的安装了吗?如果是,继续其余的,如果不是,先安装它。
如果您尝试从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:未处理的内部错误