每当我尝试从我的windows cmd.exe 终端运行 mycommand.exe 时,我收到此错误:
cmd.exe
mycommand.exe
''mycommand.exe'无法识别为内部或外部命令,可运行程序或批处理文件'
Then
当我试图运行 C:\Program Files\My-App\Mobile.exe 时,我也遇到了类似的错误
C:\Program Files\My-App\Mobile.exe
''C:\ Program'不被识别为内部或外部命令,可操作程序或批处理文件'
这是在Stackoverflow上看到的一个非常常见的问题 .
这里的重要部分不是错误中显示的命令,而是实际错误告诉您的内容 .
快速分解收到此错误的原因 .
cmd.exe 作为终端窗口依赖于输入和系统环境变量,以执行您请求它执行的操作 . 它不知道所有内容的位置,也不知道何时区分由空格和制表符等空格分隔的命令或可执行文件名称或以空格作为开关变量的命令 .
我该如何解决这个问题:
When Actual Command/executable fails
如果您有任何可执行文件试图从 cmd.exe 运行,那么您需要告诉 cmd.exe 此文件所在的位置 . 有两种方法可以做到这一点 .
"C:\My_Files\mycommand.exe"
转到:------>控制面板 - >系统 - >高级系统设置 - >环境变量
在 System Variables 窗口中,找到 path 并选择编辑
System Variables
path
现在只需将您的路径添加到字符串的末尾,由分号 ; 分隔为:
;
;C:\My_Files\
保存更改并退出 . 您需要确保已打开的任何 cmd.exe 窗口已关闭并重新打开,以允许它重新导入环境变量 . 现在,您应该可以从 cmd.exe 中的任何路径运行mycommand.exe,因为环境知道它的路径 .
When C:\Program or Similar fails
这是一个非常简单的错误 . 在 cmd.exe 终端中,将空格后的每个字符串视为不同的命令,您只需将整个路径用双引号括起来,以便 cmd.exe 将其视为单个字符串,而不是单独的命令 .
所以执行 C:\Program Files\My-App\Mobile.exe 只需运行:
"C:\Program Files\My-App\Mobile.exe"
如果要从命令提示符(cmd.exe)或批处理文件运行可执行文件,它将:
在当前工作目录中搜索可执行文件 .
搜索 %PATH% 环境变量中指定的可执行文件的所有位置 .
%PATH%
如果在其中任何一个选项中找不到该文件,您将需要:
指定可执行文件的位置 .
将工作目录更改为包含可执行文件的目录 .
通过将位置添加到 %PATH% ,(建议仅极其谨慎) .
您可以在命令提示符 Echo %Path% 中查看 %PATH% 中指定的位置 .
Echo %Path%
由于您报告的错误,我们可以假设 Mobile.exe 不在当前目录中或 %Path% 变量中指定的位置,因此您需要使用 1. , 2. 或 3. .
Mobile.exe
%Path%
1.
2.
3.
Examples for 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"
其中 "" 是一个空 Headers ,(您可以选择在这些双引号之间添加一个字符串) .
Examples for 2.
CD /D C:\directory_path_without_spaces\My-App Mobile.exe
CD /D "C:\directory path with spaces\My-App" Mobile.exe
您还可以使用带有 Start 的 /D 选项来更改start命令要运行的可执行文件的工作目录
Start
Start /D C:\directory_path_without_spaces\My-App Mobile.exe
Start "" /D "C:\directory path with spaces\My-App" Mobile.exe
2 回答
这是在Stackoverflow上看到的一个非常常见的问题 .
这里的重要部分不是错误中显示的命令,而是实际错误告诉您的内容 .
快速分解收到此错误的原因 .
cmd.exe
作为终端窗口依赖于输入和系统环境变量,以执行您请求它执行的操作 . 它不知道所有内容的位置,也不知道何时区分由空格和制表符等空格分隔的命令或可执行文件名称或以空格作为开关变量的命令 .When Actual Command/executable fails
如果您有任何可执行文件试图从
cmd.exe
运行,那么您需要告诉cmd.exe
此文件所在的位置 . 有两种方法可以做到这一点 ."C:\My_Files\mycommand.exe"
在
System Variables
窗口中,找到path
并选择编辑现在只需将您的路径添加到字符串的末尾,由分号
;
分隔为:保存更改并退出 . 您需要确保已打开的任何
cmd.exe
窗口已关闭并重新打开,以允许它重新导入环境变量 . 现在,您应该可以从cmd.exe
中的任何路径运行mycommand.exe,因为环境知道它的路径 .When C:\Program or Similar fails
这是一个非常简单的错误 . 在
cmd.exe
终端中,将空格后的每个字符串视为不同的命令,您只需将整个路径用双引号括起来,以便cmd.exe
将其视为单个字符串,而不是单独的命令 .所以执行
C:\Program Files\My-App\Mobile.exe
只需运行:如果要从命令提示符(cmd.exe)或批处理文件运行可执行文件,它将:
在当前工作目录中搜索可执行文件 .
搜索
%PATH%
环境变量中指定的可执行文件的所有位置 .如果在其中任何一个选项中找不到该文件,您将需要:
指定可执行文件的位置 .
将工作目录更改为包含可执行文件的目录 .
通过将位置添加到
%PATH%
,(建议仅极其谨慎) .您可以在命令提示符
Echo %Path%
中查看%PATH%
中指定的位置 .由于您报告的错误,我们可以假设
Mobile.exe
不在当前目录中或%Path%
变量中指定的位置,因此您需要使用1.
,2.
或3.
.Examples for 1.
要么:
或者你可以尝试:
要么
其中 "" 是一个空 Headers ,(您可以选择在这些双引号之间添加一个字符串) .
Examples for 2.
要么
您还可以使用带有
Start
的 /D 选项来更改start命令要运行的可执行文件的工作目录要么