命令提示符执行具有相同名称的文件的顺序(a.bat vs a.cmd vs a.exe)

Dae*_*min 16 windows command-line cmd batch-file

Windows命令提示符执行具有相同名称但不同扩展名的文件的顺序是什么?

例如,我有一堆可执行文件(something.cmd,something.bat,something.exe).当我在命令提示符中键入"something"时(如果它们在路径上等),将执行以下哪些操作?如果该文件不存在,那么将执行哪一个?

有没有描述这个的参考?

Dae*_*min 25

好的,我根据其他一些搜索进行了一些快速实验.

要点是命令的顺序取决于扩展存储在PATHEXT环境变量中的顺序.所以最初我有:

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
Run Code Online (Sandbox Code Playgroud)

对于上面的例子,它运行它的顺序是:

something.exe
something.bat
something.cmd
Run Code Online (Sandbox Code Playgroud)

更改它们在PATHEXT环境变量中定义的顺序确实改变了它们的执行顺序.

  • 如果删除`PATHEXT`变量,则顺序与旧的MS-DOS时间相同:COM,EXE,BAT和现在的CMD. (8认同)