2009-10-31 5 views

答えて

11

のそれぞれがcommand search sequence PATHとPATHEXT環境変数の各

マイクロソフトTechNetのは、検索シーケンスの要素を提供参照しようと考えている:PATHを注文されましたディレクトリのリスト " ここでは"となります。PATHEXTは、ファイル拡張子( " what")の順序付きリストです(拡張子がコマンドラインで明示的に指定されていない場合)。ただし、PATHを使用する前に、現在のディレクトリが検索されます。

にPATHEXT変数のデフォルトは ".COMは、.EXE; .BAT; .CMD" MJVが提供するMicrosoft TechNetのリンクから要約

+0

実行ダイアログからgvimを起動し、PATHEXTに何が設定されていてもgvim.exeしか実行されません。実行ダイアログでgvim.batと言っても。 – Jeenu

+1

@ Jeenu、これはむしろ奇妙です。ただし、gvimの別のインスタンス(またはそれを参照しているbatファイル)が、期待するPATHの場所の前に見つかっている可能性があります。コンソールと同じように手動でパスを確認してください。 (これを証明するもう1つの方法は、exeファイルを見つけられなかったためにコマンドを呼び出すことが失敗しないかどうかを確認するディレクトリ内のexeファイルの名前を一時的に変更することです。 – mjv

+0

拡張機能がありません明示的にコマンドラインで提供されています "注:なぜなら、' python3.5'コマンドはWindowsのPATHで動作できないからです。 – dedek

2

私はそれは、%PATHEXT%をウォークスルーし、それらの

7

Windowsは、左からのパスにディレクトリをステップします右から順番に(通常のリスト順)。 これらのそれぞれでは、次のPATHエントリに進む前に、各PATHEXTが左から右のファイルを探します。 最初に見つかったファイルが勝ちます。

したがって、.BATが.EXEの前に来るようにPATHEXTを変更する必要があります(または、.exeが最初に見つかり、同じディレクトリにある場合は、 )また、gvim.batを上書きするパスをghost.batの先に(最古?)gvim。*(PATHを実行する前に各PATHEXTを試しているので)のどこにでも置くことができます。

関連する問題