Windows
命令行執行檔的來源
Windows 中的命令行(在我的實例中為 xp)正在尋找要執行的命令的“來源”是什麼?我的意思是我在命令行中編寫例如“java”,然後它執行 java.exe,它位於 sytem/evnironment 屬性 PATH 中列出的某個目錄中(您可以通過“SET PATH”命令列出或設置它)。這個查找還有其他來源嗎?如果是 - 在哪裡?我該如何設置?
我之所以問,是因為我遇到了該命令似乎不在該 PATH 的任何目錄中的情況,儘管如此,它還是執行該命令(從某處……)。
萬分感謝。
根據最終呼叫以啟動應用程序的 CreateProcess 的 MSDN 文件
- 載入應用程序的目錄。
- 父程序的目前目錄。
- 32 位 Windows 系統目錄。使用 GetSystemDirectory 函式獲取該目錄的路徑。
- 16 位 Windows 系統目錄。沒有函式獲取這個目錄的路徑,但是被搜尋了。此目錄的名稱是 System.
- Windows 目錄。使用 GetWindowsDirectory 函式獲取該目錄的路徑。
- PATH 環境變數中列出的目錄。請注意,此函式不會搜尋 App Paths 系統資料庫項指定的每個應用程序路徑。要在搜尋序列中包含此每個應用程序路徑,請使用 ShellExecute 函式。
關於第 6 點。 ShellExecute 函式的文件沒有描述何時處理 App Paths 鍵。