如何使用CMD脚本运行没有EXE扩展名的可执行文件?


19

情况是我有一个可移植的应用程序,需要设置环境变量。它尝试以其他方式在用户程序数据目录中设置其设置。

为了避免在非便携式模式下运行该可执行文件(以避免使其在没有任何参数的情况下运行),我擦除了文件的“ .exe”扩展名,但是我不仅不能通过鼠标(我想要的)而且无法通过start命令来运行它。

有没有办法运行没有exe扩展名的可执行文件?


您的问题还不清楚。如果不小心删除了.EXE扩展名,为什么不能将其重新添加?是什么阻止了您这样做?
卡兰(Karan)

我故意删除它是为了避免意外击中它,因此该程序将在没有任何参数的情况下运行。为了安全起见,仅在启动时运行带有选项的程序。
rsk82

Answers:


14

是的-通常只需输入程序的完整文件名即可。(该.exe要求仅存在于GUI Shell中。)

(这可能是该文件需要一个扩展,但-所以,如果你不能得到MyProgram运行,其重命名为MyProgram.notexeMyProgram.lol再试一次。)


1
一次让我感到惊讶的是,当我将自解压Zip文件从重命名.exe.zip,尝试通过cmd.exe打开它时,它仍然运行自解压程序而不是打开WinZip。
grawity

我不知道更改扩展名的窍门,该程序可能需要一些虚拟的,那不是那么直观。但是无论如何,我遇到了另一个麻烦,即应用程序本身需要其主要可执行文件具有严格的名称。
rsk82

1
任何能够开始MZ将通过CMD执行,请查看下面
ПетърПетров

17

具有任何扩展名和前两个字节的任何文件MZ都将被视为EXE。

请尝试以下操作:

  1. 创建一个新a.txt文件,
  2. 输入MZ,保存。
  3. 打开cmd,转到其文件夹,
  4. 输入a.txt并查看错误消息。

替换MZMS然后重试-这次记事本将在打开文件的情况下运行。


1
在Windows 10中不起作用。它总是显示'' is not recognized as an internal or external command, operable program or batch file.错误
phuclv 18/3/22

我刚刚在家中用Windows 10 Pro尝试过,它确实显示了一个错误,This version of D:\test.txt is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.以前我在工作中使用Windows 10 LTSB,但没有用
phuclv

它仍然可以在我的Windows 10 X64上运行,与上面的示例相同。
ПетърПетров

如果尝试执行没有任何扩展名的文件,它将引发'file' is not recognized错误。
Stevoisiak

2

我试图从不带.exe扩展名的文件运行进程。当我无法从cmd.exe执行此操作时,请尝试使用一些powershell命令。这是一个:

开始过程

该文档介绍了有关默认语法和UseShellExecute的信息。只是:

Start-Process -FilePath .\my-program -Wait -NoNewWindow

该命令使用UseShellExecute语法,并返回有关与该文件类型无关的应用程序的错误。为了强制使用Default语法,我添加了UseShellExecute没有的参数:

Start-Process -FilePath .\my-program -Wait -RedirectStandardError ./error.txt -NoNewWindow

我的程序已启动,并将输出写入控制台。这对我来说已经足够了,因为我仅出于测试目的才需要它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.