私はa.com、a.cmd、a.bat、およびa.exeファイル%PATH%を持っています。これはM $のどこかで公式に仕様化されていますか?WindowsでPATH内の実行可能ファイルを検索する相対的な順序は何ですか?
gvim.exe実行ファイルを-nでラップしたかっただけですが、gvim.batがコマンドラインからも実行ダイアログからも実行されないようです。
私はa.com、a.cmd、a.bat、およびa.exeファイル%PATH%を持っています。これはM $のどこかで公式に仕様化されていますか?WindowsでPATH内の実行可能ファイルを検索する相対的な順序は何ですか?
gvim.exe実行ファイルを-nでラップしたかっただけですが、gvim.batがコマンドラインからも実行ダイアログからも実行されないようです。
のそれぞれがcommand search sequence PATHとPATHEXT環境変数の各
マイクロソフトTechNetのは、検索シーケンスの要素を提供参照しようと考えている:PATHを注文されましたディレクトリのリスト " ここでは"となります。PATHEXTは、ファイル拡張子( " what")の順序付きリストです(拡張子がコマンドラインで明示的に指定されていない場合)。ただし、PATHを使用する前に、現在のディレクトリが検索されます。
にPATHEXT変数のデフォルトは ".COMは、.EXE; .BAT; .CMD" MJVが提供するMicrosoft TechNetのリンクから要約
私はそれは、%PATHEXT%をウォークスルーし、それらの
:
Windowsは、左からのパスにディレクトリをステップします右から順番に(通常のリスト順)。 これらのそれぞれでは、次のPATHエントリに進む前に、各PATHEXTが左から右のファイルを探します。 最初に見つかったファイルが勝ちます。
したがって、.BATが.EXEの前に来るようにPATHEXTを変更する必要があります(または、.exeが最初に見つかり、同じディレクトリにある場合は、 )また、gvim.batを上書きするパスをghost.batの先に(最古?)gvim。*(PATHを実行する前に各PATHEXTを試しているので)のどこにでも置くことができます。
実行ダイアログからgvimを起動し、PATHEXTに何が設定されていてもgvim.exeしか実行されません。実行ダイアログでgvim.batと言っても。 – Jeenu
@ Jeenu、これはむしろ奇妙です。ただし、gvimの別のインスタンス(またはそれを参照しているbatファイル)が、期待するPATHの場所の前に見つかっている可能性があります。コンソールと同じように手動でパスを確認してください。 (これを証明するもう1つの方法は、exeファイルを見つけられなかったためにコマンドを呼び出すことが失敗しないかどうかを確認するディレクトリ内のexeファイルの名前を一時的に変更することです。 – mjv
拡張機能がありません明示的にコマンドラインで提供されています "注:なぜなら、' python3.5'コマンドはWindowsのPATHで動作できないからです。 – dedek