每当我尝试从我的Windows mycommand.exe
终端运行cmd.exe
时,我都会收到此错误:
''mycommand.exe'无法识别为内部或外部命令,可运行程序或批处理文件'
,然后
当我尝试运行C:\Program Files\My-App\Mobile.exe
''C:\ Program'不被识别为内部或外部命令,可操作程序或批处理文件'
答案 0 :(得分:5)
这是在Stackoverflow上看到的一个非常常见的问题。
这里的重要部分不是错误中显示的命令,而是实际错误告诉您的内容。
快速分析收到此错误的原因。
cmd.exe
作为终端窗口依赖于输入和系统环境变量,以执行您请求它执行的操作。它不知道所有内容的位置,也不知道何时区分由空格分隔的命令或可执行名称,如 space 和 tab 或带有空格的命令切换变量。
我该如何解决这个问题:
当实际命令/可执行文件失败时
首先我们确定,是否已安装实际可执行文件?如果是,继续其余的,如果没有,请先安装它。
如果您有任何可执行文件试图从cmd.exe
运行,那么您需要告诉cmd.exe
此文件所在的位置。有两种方法可以做到这一点。
指定文件的完整路径。
"C:\My_Files\mycommand.exe"
将文件的位置添加到您的环境Variables。
转到:
------>控制面板 - >系统 - >高级系统设置 - >环境变量
在System Variables
窗口中,找到path
并选择编辑
现在只需将您的路径添加到字符串的末尾,并以分号;
分隔为:
;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"
答案 1 :(得分:3)
如果要从命令提示符(cmd.exe)或批处理文件运行可执行文件,它将:
%PATH%
环境变量中指定的可执行文件的所有位置。如果在其中任何一个选项中找不到该文件,您将需要:
%PATH%
,将其添加到(建议极其谨慎)。 您可以在命令提示符%PATH%
中查看Echo %Path%
中指定的位置。
由于您报告的错误,我们可以假设Mobile.exe
不在当前目录或%Path%
变量中指定的位置,因此您需要使用1.
,{{ 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
您还可以将{strong> CD /D "C:\directory path with spaces\My-App"
Mobile.exe
选项与/D
一起使用来更改启动命令运行的可执行文件的工作目录
Start
或
Start /D C:\directory_path_without_spaces\My-App Mobile.exe