[爆卦]windows cmd開啟是什麼?優點缺點精華區懶人包

為什麼這篇windows cmd開啟鄉民發文收入到精華區:因為在windows cmd開啟這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者uranusjr (←這人是超級笨蛋)看板Python標題Re: [問題] 用cmd開啟chro...



不要再走歪路了, 前面推文回答的基本都是亂講 XD
雖然這個問題跟 Python 其實一點關係也沒有, 所以會這樣也是正常

如果你給 start 指令的參數不是絕對或相對路徑, 而且是執行檔
那麼它會用 ShellExecuteEx 執行它
這個 Windows API 函式會參照 registry 這個路徑下面的值

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths

如果你用 regedit 打開登錄檔, 會發現這下面包含了一堆 XXX.exe 名稱
這就是用來參照 start 獲得的執行檔的真實位置
例如我的長這樣(我沒裝 Google Chrome 所以這裡用 Firefox 舉例)

https://d.pr/i/dt6idm

當你輸入 start firefox.exe 而當前路徑找不到這個執行檔時
Windows 會去找 HKLM\...\App Paths\firefox.exe\ 的值來用
因而可以正確執行, 不需要設定完整路徑

這個 registry 值通常是在程式安裝時設定
如果沒設好, 有可能是當初安裝時出錯或毀損之類的
不過如果有問題, 那也沒辦法, 就不能用了

如果你要修復倒是不難, 打開 regedit 把該有的值填進去就好
不過如果你要保證每台電腦都一定能正確執行, 那大概就辦不到
因為你實在沒辦法知道每台電腦的安裝是不是都完全正確

話又說回來, 如果你只是想打開網頁, 那其實根本不用這麼麻煩
用 start <網址> 就可以直接開了, 根本不需要指定程式
只是它會用預設網頁瀏覽器(所以可能不是 Google Chrome)
但是或許這也是好事

或者既然你是寫 Python, 其實有個 module 叫 webbrowser
https://docs.python.org/3.6/library/webbrowser.html
這個就是用環境變數來找瀏覽器了


--
GNUGCC:void main(void) 的寫法是可行的唷^^08/10 00:59
GNUGCC:雖然這個寫法較傳統,但是語法與文法都正確哦^^08/10 02:16
GNUGCC:目前我使用的 Visual C++ 都接受 void main(void) 與 08/10 20:18
GNUGCC:int main(void),各位可以把 C++ 專案改成原生 C++ 類型來 08/10 20:19
GNUGCC:用 void main(void) 來寫發現也可通過編譯. 08/10 20:21
GNUGCC:這個就是 Visual C++ 的彈性.08/11 20:23

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.19.12
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1524715193.A.70C.html
gmccntzx1: 只是原PO家裡電腦的App Paths底下有chrome.exe,但仍無 04/26 12:10
gmccntzx1: 法靠`start chrome`開啟,這點比較奇怪0.0 04/26 12:11
znmkhxrw: 謝u大 只是你前面說regedit的跟g大是一樣的 已有路徑 04/26 12:50
znmkhxrw: 但是還是無法start 04/26 12:50
znmkhxrw: 然後start <網址> 與 webbrowser我回家再看 謝謝! 04/26 12:51
znmkhxrw: 這樣也可以避免有人沒裝chrome XD 04/26 12:51
uranusjr: 這真的有各種可能壞掉, 登錄檔就是個很煩的東西 orz 04/26 14:19
uranusjr: 如果可以還是就直接繞過比較好 04/26 14:20
MOONY135: 登錄檔很煩+1 04/29 14:39
adrianshum: 印象中start 也會找 PATH ?會的話,設path 至少比改r 05/10 13:53
adrianshum: egistry 簡單 05/10 13:53

你可能也想看看

搜尋相關網站