【批處理】通過批處理修改環境變量

通過批處理修改環境變量,我知道的有兩種方法。

  • 通過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文件中,然後運行就可以了,是十分的方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章