「ファイル名を指定して実行」で full path を指定せず起動した場合の優先順序です。とりあえず、抑えているものだけ。
- Current directory
- 環境変数 "%PATH%"
- Registry "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
上記の順序で検索されます。
2. 環境変数 "%PATH%" はそこに記述された順序で検索します。順序の確認は command prompt から 「ECHO %PATH%」 で。
1, 2 に関しては拡張子を省略しても問題ありませんが、3 に関しては拡張子省略したものを entry で定義しないといけません。1, 2 において拡張子を省略した場合には、環境変数 "%PATHEXT%" の順序で拡張子が補正されて検索されます。拡張子補正の順序確認は「ECHO %PATHEXT%」で。
実際の動作確認には Process Monitor を利用してやるとよいでしょう。
なお、1. Current directory ですけど、基本的に %USERPROFILE% が使われます。Command prompt を呼び出したときと同じですね。