如何用Perl腳本操作系統環境變量呢?
想必很多朋友馬上就會想到Perl中提供的$ENV這個特殊的哈希變量,對,在$ENV中完全可以獲取到一些系統變量。怎么獲取呢?比如想要知道Path這個系統環境變量的內容,我們可以通過$ENV{'Path'} 來獲取。如果想設置Path這個環境變量呢,哈,使用$ENV{'Path'}=‘C:/Windows/System32'來設置。想獲取所有的環境變量列表也很簡單,哈希遍歷不就可以了~
其實,本文中真正想問的是,你在通過上述方法設置了一個環境變量后,右擊"我的電腦"的屬性,選中高級選項卡后查看的Path變量值真的改變了嗎?其實,細心的你會發現,完全沒變!但千萬不要抱怨Perl欺騙了你,它其實并沒有欺騙你,而是你沒有真正的理解。其實,Path變量可以通過設置$ENV{'Path'}來設置,但是這個設置所引起的改變只是Session級別的,即你程序級別的。如果還不理解的話,可以想象成打開一個CMD后,輸入SET Path="C://Royen"所引起的效果,即在這個窗口中運行過程中Path環境變量是"C://Royen",而你再打開一個Cmd后的新的窗口的Path變量則會發現完全不是”C://Royen“;
所以想要真正的添加或者改變一個系統環境變量,我們需要求助于注冊表幫忙。只要找到環境變量在注冊表中存儲的位置即可。
一般系統變量可以在注冊表 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment下面可以找到。
實現:
添加環境變量后,記得重啟下機器,以使其生效。
新聞熱點
疑難解答