通過批處理修改環境變量,我知道的有兩種方法。
通過setx path 這種方法去修改。
不過我在使用時發現一些問題,比如當環境變量和用戶變量裏都有path的時候,讀取path就會將兩個裏的path都讀取出來,修改的時候也是這樣。通過批處理去修改的時候還要牽扯到權限問題,必須要使用超級管理員權限,不方便給其他不熟悉電腦的人使用。如果需要在mfc中調用該bat,會發現echo出來的並不是我們想要的,應該也是牽扯到了權限的緣故。所以我果斷不使用這種方法了。通過批處理調用註冊表來修改環境變量。
::寫入環境變量
@echo off
echo Windows Registry Editor Version 5.00>re.reg
echo [HKEY_CURRENT_USER\Environment]>>re.reg
echo "path" = "%p%">>re.reg
echo "include" = "%inc%">>re.reg
echo "lib" = "%li%">>re.reg
start re.reg
我寫入的是path,include和lib三個路徑
打開註冊表regedit
HKEY_CURRENT_USER\Environment //用戶環境變量
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment//系統環境變量
搜索,就會在右側表裏找到我們添加的環境變量。
獲取當前環境變量
@echo off
::獲取當前環境變量
for /f "tokens=1,2,* " %%i in ('REG QUERY "HKEY_CURRENT_USER\Environment" ^| find /i "path"') do echo %%k
pause
凡是對於註冊表的操作我們都可以寫入*.reg文件中,然後運行就可以了,是十分的方便。