2009-03-03 7 views
14

In welcher Reihenfolge führt die Windows-Eingabeaufforderung Dateien mit demselben Namen, aber unterschiedlichen Erweiterungen aus?Reihenfolge, in der die Eingabeaufforderung Dateien mit demselben Namen ausführt (a.bat vs a.cmd vs a.exe)

Zum Beispiel habe ich eine Reihe von ausführbaren Dateien (something.cmd, something.bat, something.exe). Welche von diesen würde ausgeführt werden, wenn ich "etwas" in eine Eingabeaufforderung eintippte (wenn sie auf dem Pfad waren, usw.)? Wenn diese Datei nicht existiert, welche würde dann ausgeführt werden?

Gibt es eine Referenz, die das beschreibt?

+0

Kein Hinweis, aber Sie könnten dies selbst versuchen. Und wenn man MS kennt, kann es zwischen den Betriebssystemversionen variieren. :-) – jro

Antwort

22

Okay, ich habe ein paar schnelle Experimente gemacht, basierend auf einigen anderen Suchen, die ich hatte.

Der Kern besteht darin, dass die Reihenfolge der Befehle von der Reihenfolge abhängig ist, in der die Erweiterungen in der Umgebungsvariablen PATHEXT gespeichert werden. Also zunächst hatte ich:

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

und für das obige Beispiel der Reihenfolge, in der sie laufen würde es war:

something.exe 
something.bat 
something.cmd 

Ändern der Reihenfolge, die sie in der PATHEXT Umgebungsvariable definiert wurden haben in der Tat die Änderung Reihenfolge, in der sie ausgeführt wurden.

+5

Wenn die 'PATHEXT'-Variable gelöscht wird, ist die Reihenfolge die gleiche wie in den alten MS-DOS-Tagen: COM, EXE, BAT und jetzt CMD. – Aacini

+0

Scheint so, als ob diese Antwort und meine dann kombiniert werden sollten, da sie zwei Seiten der Medaille sind. –

+0

@Aacini Meinst du in Windows 8 oder Windows 8.1? Weil es immer noch in Windows 7 ist. – Daemin