標籤:https 文章 外部 不一致 基本 cmd 使用者登陸 開源 end
win環境變數因第三方軟體導致path不一致的問題分析
win系統中,(以win10為例),path環境變數起到了非常重要的作用,配置不當,會導致在命令列中出現“不是內部命令or外部命令”的提示。
win10中path值有兩個:一個是系統變數path和使用者變數path,下面我們通過幾個途徑查看path的值,結果如下:
通常情況下, 當一個使用者登陸系統後: path是該使用者自己的使用者變數path和系統變數path的並集。
方式1
當該使用者通過win+R,輸入命令cmd的方式進入系統內建的命令列環境中後,輸入
echo %PATH%
,此時輸出的path的值也是使用者變數path和系統變數path的並集,並且系統變數位置在前,使用者變數位置在後。
方式2
當該使用者通過win+R,輸入命令cmder的方式進入第三方命令列軟體cmder中後,輸入
echo %PATH%
,此時輸出的path的值中,除了使用者變數path和系統變數path之外,還有cmder軟體添加的path內容(順序:cmder自身的,系統的,使用者的):
//cmder添加的行D:\cmder\bin; D:\cmder\vendor\conemu-maximus5\ConEmu\Scripts; D:\cmder\vendor\conemu-maximus5; D:\cmder\vendor\conemu-maximus5\ConEmu;
系統變數path
使用者變數path
備忘:path裡面cmder自身的變數所在順序是由cmder定義的,但是系統變數和使用者變數兩者之前的順序基本上不能更改。
方式3
當該使用者通過AHK軟體配置的快速鍵(2017.5.15日編譯好的AhkScriptManager.exe檔案),啟動第三方命令列軟體cmder後,輸入
echo %PATH%
,此時輸出的path的值中,除了使用者變數path和系統變數path之外,還有cmder軟體添加的path內容,最後還有AHK自己添加的path:
//cmder添加的行D:\cmder\bin; D:\cmder\vendor\conemu-maximus5\ConEmu\Scripts; D:\cmder\vendor\conemu-maximus5; D:\cmder\vendor\conemu-maximus5\ConEmu;
//AHK添加的行D:\AhkScriptManager\3rd;
//丟失了部分近期安裝的軟體的路徑系統變數path
使用者變數path
備忘:我使用的AhkScriptManager是基於github上的開源項目https://github.com/morgengc/AhkScriptManager。
但是在今天(2017.11.18日檔案)通過AHK提供的快速鍵進入cmder後,運行python的時候發現,找不到python命令,所以才有了這篇文章。
方式4
經過分析後,懷疑原因在於,AhkScriptManager.exe檔案是在很久之前用AHK軟體編譯好的。path值在編譯AhkScriptManager.ahk檔案後,已經固定了,所以之後安裝的python等軟體的路徑就無法加入了。於是我由重新編譯了AhkScriptManager.ahk檔案。
當該使用者通過現在時間(2017.11.18日檔案)重新編譯AhkScriptManager.ahk檔案,得到新的AhkScriptManager.exe檔案,此時的AHK軟體配置的快速鍵,啟動第三方命令列軟體cmder後,輸入
echo %PATH%
,此時輸出的path的值中,方式3總的所有值之外,近期安裝的幾個軟體的路徑也都在這個path裡面了:
//cmder添加的行D:\cmder\bin; D:\cmder\vendor\conemu-maximus5\ConEmu\Scripts; D:\cmder\vendor\conemu-maximus5; D:\cmder\vendor\conemu-maximus5\ConEmu;
//AHK添加的行D:\AhkScriptManager\3rd;
//丟失了部分近期安裝的軟體的路徑系統變數path
使用者變數path
總結經驗
以後再安裝軟體後,如果想通過AHK軟體提供的快速鍵方式啟動,就必須重新編譯該AhkScriptManager.ahk檔案(因為這個ahk檔案中,存在path值修改的問題)
win環境變數path因第三方軟體導致不一致的問題分析