配置环境变量 wmic

  1. @echo off  
  2.   
  3. ::设定环境变量  
  4. set "add_path1=D:\Oracle\product\10.2.0\db_1\bin"  
  5. set "env_path1=ORACLE_HOME"  
  6.   
  7. ::检查PATH中是否已添加  
  8. wmic ENVIRONMENT where "name='PATH'" get VariableValue|findstr /i /c:"%add_path1%">nul&&(goto PATH_EXIST)  
  9. echo PATH环境变量中未添加: %add_path1%  
  10. echo.  
  11.   
  12. echo 添加环境变量  
  13. echo.  
  14. set "set_val=%add_path1%;%PATH%"  
  15. wmic ENVIRONMENT where "name='PATH' and username='<system>'" set VariableValue="%set_val%"  
  16.   
  17. :PATH_EXIST  
  18. echo PATH环境变量中已添加: %add_path1%  
  19. echo.  
  20.   
  21. ::检查是否已创建环境变量  
  22. wmic ENVIRONMENT where "name='%env_path1%'" get VariableValue|findstr /i /c:"VariableValue">nul&&(goto ENV_CREATE)  
  23. echo %env_path1%环境变量未创建  
  24. echo.  
  25. echo 创建环境变量  
  26. echo.  
  27. wmic ENVIRONMENT create name="%env_path1%",username="<system>",VariableValue="%add_path1%"  
  28.   
  29. :ENV_CREATE  
  30. echo %env_path1%环境变量已创建  
  31. echo.  
  32.   
  33. echo 配置完成,按任意键还原环境变量  
  34. echo.  
  35. pause>nul  
  36.   
  37. echo 还原环境变量  
  38. echo.  
  39. set set_val=  
  40. :loop_findpath  
  41. set /a n+=1  
  42. for /f "tokens=%n% delims=;" %%a in ('wmic ENVIRONMENT where "name='PATH'" get VariableValue^|findstr /i /c:"%add_path1%"') do (  
  43.     if "%%a" neq "" (  
  44.         if "%%a" neq "%add_path1%" (  
  45.             if "%set_val%" == "" (  
  46.                 set "set_val=%%a"  
  47.             ) else (  
  48.                 set "set_val=%set_val%;%%a"  
  49.             )  
  50.               
  51.         )  
  52.         goto loop_findpath  
  53.     )  
  54. )  
  55. wmic ENVIRONMENT where "name='PATH' and username='<system>'" set VariableValue="%set_val%"  
  56.   
  57. echo 删除环境变量  
  58. echo.  
  59. wmic ENVIRONMENT where "name='%env_path1%'" delete  
  60.   
  61. echo 环境变量已还原  
  62. echo.  
  63. pause>nul  

猜你喜欢

转载自blog.csdn.net/zidielang/article/details/53861430
今日推荐