同名文件(a.bat、a.cmd、a.exe)在命令提示符下执行的顺序。

22

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

例如,我有一堆可执行文件:something.cmdsomething.batsomething.exe。当我在命令提示符中键入something时,哪一个会被执行(假设它们都在路径上)?如果该文件不存在,则会执行哪个文件?

是否有一个描述这一点的参考资料?

1个回答

36

好的,我基于一些其他搜索结果进行了一些快速实验。

要点是命令的顺序取决于扩展名存储在 PATHEXT 环境变量中的顺序。因此,最初我有:

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

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

something.exe
something.bat
something.cmd

改变PATHEXT环境变量中定义的顺序确实会改变它们执行的顺序。


10
如果删除了PATHEXT变量,那么文件搜索顺序将与早期的MS-DOS系统相同:COM、EXE、BAT和现在的CMD。 - Aacini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接