在我的目錄下C:\Users\ME
有一個名為 的目錄C:\Users\ME\Invoices
。這是我記帳之類的地方。但是,我創建了一個*.bat
文件,我將其命名為Invoices.bat
.我敢打賭每個人都知道這是怎麼回事,在文件中我有以下腳本:
start C:\Users\ME\Invoices
由於某種原因,Windows CMD 陷入循環並不斷產生 CMD 提示。慶幸的是我的電腦沒有崩潰,我關上了窗戶。然而,這個問題讓我很好奇,我的PATH=C:\Users\ME
.系統是否對啟動什麼感到困惑?或者是因為它們具有相同的名稱,我偶然將*.bat
文件名更改為Bookkeeping.bat
並且執行得很好?我想知道您對這個問題的看法是僥倖,還是同名錯誤。我想指出的是,我在 explorer.exe 運行和不運行的情況下都進行了嘗試。
答案1
從start
當執行第一個標記不包含副檔名的命令列時,CMD.EXE 使用 PATHEXT 環境變數的值來決定要尋找哪些副檔名以及查找順序。 PATHEXT 變數的預設值為:
.COM;.EXE;.BAT;.CMD
Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.
並且
搜尋執行檔時,如果任何副檔名都沒有匹配,則查看名稱是否與目錄名稱相符。如果是,START 命令將在該路徑上啟動資源管理器。如果從命令列完成,則相當於對該路徑執行 CD /D。
是的,這是因為您的檔案名稱與資料夾名稱相符。