Ordine in cui il prompt dei comandi esegue i file con lo stesso nome (a.bat vs a.cmd vs a.exe)

StackOverflow https://stackoverflow.com/questions/605101

Domanda

Qual è l'ordine in cui il prompt dei comandi di Windows esegue i file con lo stesso nome, ma con estensioni diverse?

Ad esempio, ho un sacco di file eseguibili: something.cmd , something.bat e something.exe . Quale di questi verrebbe eseguito quando ho digitato qualcosa in un prompt dei comandi (dato che erano sul percorso, ecc.)? Se quel file non esistesse, quale verrebbe eseguito?

C'è un riferimento che lo descrive?

È stato utile?

Soluzione

Okay, ho fatto una rapida sperimentazione sulla base di alcune altre ricerche che avevo fatto.

L'essenziale è che l'ordine dei comandi dipende dall'ordine in cui le estensioni sono memorizzate nella variabile d'ambiente PATHEXT. Quindi inizialmente avevo:

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

e per l'esempio sopra l'ordine in cui sarebbe stato eseguito era:

something.exe
something.bat
something.cmd

La modifica dell'ordine in cui sono stati definiti nella variabile d'ambiente PATHEXT ha effettivamente cambiato l'ordine in cui sono stati eseguiti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top