Was ist die relative Reihenfolge, mit dem Windows-Suche nach ausführbaren Dateien in PATH?

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

  •  11-09-2019
  •  | 
  •  

Frage

Wenn ich a.com, a.cmd, a.bat und a.exe Dateien% PATH%, das würde man von Windows wählen, wenn ich nur den Befehl "a" aufrufen? Ist der offiziell spec-ed irgendwo von M $?

Ich wollte nur meinen gvim.exe ausführbare Datei mit -n wickeln, aber mein gvim.bat nicht erscheint weder von der Kommandozeile erhalten lief, noch aus dem Ausführen-Dialog.

War es hilfreich?

Lösung

Siehe Befehl Suchfolge auf Microsoft Technet

Die PATH und PATHEXT Umgebungsvariablen jeweils ein Element der Suchsequenz liefern: PATH ist die geordnete Liste von Verzeichnissen „ mit “ zu sehen, und PATHEXT ist die geordnete Liste von Dateierweiterungen ( "< em> was ") zu suchen (im Fall, dass die Erweiterung nicht explizit auf der Kommandozeile zur Verfügung gestellt). Vor der PATH jedoch verwendet wird, wird das aktuelle Verzeichnis durchsucht.

Die PATHEXT Variable standardmäßig auf ".COM, .EXE, .BAT, .cmd"

Andere Tipps

aus dem Microsoft Technet Link von mjv bereitgestellt Zusammengefasst:

Windows wird durch die Verzeichnisse in PATH Schritt von links nach rechts (normal Liste Reihenfolge). In jedem dieser Versuche, eine Datei mit jedem PATHEXT auch von links nach rechts zu finden, bevor er zum nächsten Eintrag Pfad fort. Die erste Datei findet es gewinnt.

Also, in Ihrem Fall müssen Sie PATHEXT ändern, so dass .BAT vor .EXE kommt (oder es wird immer .exe ersten und nicht die .bat Sie wahrscheinlich wollen außer Kraft setzen es, wenn im selben Verzeichnis finden) und stellen auch den Pfad der ‚Überschreibung‘ gvim.bat früher (frühestens?) in der PATH-Eintrag als irgendwo könnte es gvim finden. * (weil es jeden PATHEXT in jeder versucht, bevor sie auf Abwärtspfad zu gehen)

Ich glaube, es geht durch%% PATHEXT und versucht, jede von denen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top