為什麼這篇cmd怎麼開鄉民發文收入到精華區:因為在cmd怎麼開這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者uranusjr (←這人是超級笨蛋)看板Python標題Re: [問題] 用cmd開啟chro...
cmd怎麼開 在 路嘉欣 ᶜᴴᴵᴬ ᴴˢᴵᴺ ᴸᵁ Instagram 的最佳解答
2021-03-29 17:31:16
我老是跟8說 「誌軒這麼好,怎麼會母胎單身啦」 看一次說一次 你真是我心中最疼愛的孩子 去KTV時你嚷著要跟我合唱 可是因為年齡差距 一時竟找不到一首我們都會的合唱歌曲 只好替我合音,當做是合唱了 誌軒啊,後來我學會了9m88和馬念先的《你朝我的方向走來》 我在心中默默想 下回就可以合唱這首了!...
不要再走歪路了, 前面推文回答的基本都是亂講 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
這個就是用環境變數來找瀏覽器了
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.19.12
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1524715193.A.70C.html