假设我有一个名为 program.exe 的程序,我想从命令行运行它。进一步假设我在命令提示符下,并且与 program.exe 位于同一目录中
由于某种原因,我无法通过输入以下内容来运行该程序:
program
相反,我必须输入:
program.exe
然后程序就会运行。
我不知道我做了什么导致它出现这种情况。即使是简单的 ping 实用程序也需要我输入 ping.exe。
奇怪的是,我尝试输入“copy”,它仍然能识别。或者这不是可执行文件?
答案1
复制确实是一个内置命令。
我假设您熟悉如何编辑 PATH,但是在环境变量菜单中,还有一个名为“PATHEXT”的菜单,它包含要执行的文件类型,无需扩展名(我用它来添加“.py”,以执行 python 脚本)。检查以确保 .exe 在其中。如果没有,我以前从未遇到过这种情况!
答案2
C:\>设置路径 PATHEXT=.COM;.EXE;.CMD;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PCS1
当您运行 时program
,命令解释器将查找program
、program.com
、等。如果您从此列表中program.exe
丢失了内容,那将解释您所看到的内容。.exe
copy
是命令解释器的内置命令,而不是单独的.exe
或.com
。换句话说,专门识别该单词并处理复制自身,而不是调用另一个程序。(与不是内置命令的cmd.exe
相反。)xcopy.exe