Windows命令提示符执行相同名称但扩展名不同的文件的顺序是什么?
例如,我有一堆可执行文件:something.cmd
、something.bat
和something.exe
。当我在命令提示符中键入something
时,哪一个会被执行(假设它们都在路径上)?如果该文件不存在,则会执行哪个文件?
是否有一个描述这一点的参考资料?
Windows命令提示符执行相同名称但扩展名不同的文件的顺序是什么?
例如,我有一堆可执行文件:something.cmd
、something.bat
和something.exe
。当我在命令提示符中键入something
时,哪一个会被执行(假设它们都在路径上)?如果该文件不存在,则会执行哪个文件?
是否有一个描述这一点的参考资料?
好的,我基于一些其他搜索结果进行了一些快速实验。
要点是命令的顺序取决于扩展名存储在 PATHEXT
环境变量中的顺序。因此,最初我有:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
对于上面的示例,它运行的顺序是:
something.exe
something.bat
something.cmd
改变PATHEXT
环境变量中定义的顺序确实会改变它们执行的顺序。
PATHEXT
变量,那么文件搜索顺序将与早期的MS-DOS系统相同:COM、EXE、BAT和现在的CMD。 - Aacini