当两者具有相同的path/名称时,如何首先执行.bat文件而不是文件.exe?

我的emacs.bat放在同一个bin目录emacs.exe 。 该目录包含在PATHvariables(Windows)中。

emacs.bat内容:

 @echo off "%~dp0emacsclientw.exe" -na "%~dp0runemacs.exe" "%1" 

然而,每当我使用这个命令, emacs.exe被执行而不是.bat文件。 我怎么去解决这个问题?

看来你可以把emacs.bat放在另一个目录下,并把这个目录放在PATH中。 注意:如果您在包含emacs.exe的目录中运行“emacs”,则优先执行.exe。

编辑:或者,您可以在命令提示符下键入emacs.bat而不是emacs

编辑2:正如在这个答案中看到的,你可以设置PATHEXT环境变量。 有些东西是:

PATHEXT=.BAT;.COM;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW