Windows 的「which」

Windows 的「which」

可能的重複:
Windows 相當於 whereis?

我習慣在 Unix 系統上說“which foo”來查看將要運行的內容。

今天我在 Windows 上執行程式時遇到了問題,我認為可能是執行了錯誤的命令。如何從 cmd.exe 確定當我鍵入“foo”時它實際上將運行哪個程式?

答案1

我建議使用您的“foo”範例,輸入

foo /?

這在 Windows 上應該與在 Linux 中加入 --help 類似。請注意,並不總是如此,但它應該讓您確切地知道發生了什麼,以及一些命令語法。

答案2

我不知道 Windows 的“哪個”,但您可以從命令列運行小路查看它在哪裡尋找文件。我相信它會按順序搜尋路徑並運行它找到的第一個可執行檔。

請記住,CMD.EXE 還將搜尋本地目錄以查找要運行的程序,我相信這是優先的。

答案3

擴展至史蒂夫回答%SYSTEM_ROOT%您可以執行attrib搜尋來查看「foo」所在的位置,然後與 %PATH% 進行比較以查看哪個將首先執行:

attrib /s foo.exe
...
echo %PATH%

答案4

Cygwin 隨附的 (http://cygwin.org)將從 cmd.exe 執行,否則可能會執行您想要的操作。請注意,如果您正在尋找 .bat,則需要明確添加 .bat,例如,「which gorp.bat」將找到 gorp.bat,但「which gorp」則不會。

相關內容