Ordre dans lequel l'invite de commande exécute les fichiers portant le même nom (a.bat vs a.cmd vs a.exe)
-
03-07-2019 - |
Question
Quel est l'ordre dans lequel l'invite de commande Windows exécute des fichiers portant le même nom mais des extensions différentes?
Par exemple, je dispose de plusieurs fichiers exécutables: quelque chose.cmd
, quelque chose.bat
et quelque chose.exe
. Lesquels de ceux-ci seraient exécutés lorsque je tapais quelque chose
dans une invite de commande (étant donné qu'ils étaient sur le chemin, etc.)? Si ce fichier n’existait pas, lequel serait alors exécuté?
Existe-t-il une référence décrivant cela?
La solution
D'accord, j'ai fait quelques expériences rapides basées sur d'autres recherches que j'avais effectuées.
L’essentiel est que l’ordre des commandes dépend de l’ordre dans lequel les extensions sont stockées dans la variable d’environnement PATHEXT. Donc au début, j'avais:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
et pour l'exemple ci-dessus, l'ordre dans lequel il serait exécuté était le suivant:
something.exe
something.bat
something.cmd
La modification de l'ordre dans lequel ils ont été définis dans la variable d'environnement PATHEXT a effectivement modifié l'ordre dans lequel ils ont été exécutés.