1-setup-path-win.bat 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. @SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  2. @ECHO OFF
  3. SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
  4. SET NEWPATH1="C:\MinGW\msys\1.0\bin"
  5. SET NEWPATH2="C:\MinGW\bin"
  6. :: Make sure paths exist
  7. IF NOT EXIST !NEWPATH1! (ECHO Path not found: %NEWPATH1% && GOTO ExitBatch)
  8. IF NOT EXIST !NEWPATH2! (ECHO Path not found: %NEWPATH2% && GOTO ExitBatch)
  9. :: Add paths
  10. CALL :AddPath %NEWPATH1%
  11. CALL :AddPath %NEWPATH2%
  12. :: Branch to UpdateEnv if we need to update
  13. IF DEFINED UPDATE (GOTO UpdateEnv)
  14. GOTO ExitBatch
  15. :: -----------------------------------------------------------------------------
  16. :UpdateEnv
  17. ECHO Making updated PATH go live . . .
  18. REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
  19. setx TEMPVAR 1 > nul 2>&1
  20. REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
  21. IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer)
  22. GOTO ExitBatch
  23. :: -----------------------------------------------------------------------------
  24. :ExitBatch
  25. ENDLOCAL
  26. PAUSE
  27. EXIT /b
  28. :: -----------------------------------------------------------------------------
  29. :AddPath <pathToAdd>
  30. ECHO %PATH% | FINDSTR /C:"%~1" > nul
  31. IF ERRORLEVEL 1 (
  32. REG add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v PATH /t REG_SZ /d "%PATH%;%~1" > nul 2>&1
  33. IF ERRORLEVEL 0 (
  34. ECHO Adding %1 . . . Success!
  35. SET "PATH=%PATH%;%~1"
  36. SET UPDATE=1
  37. ) ELSE (
  38. ECHO Adding %1 . . . FAILED. Run this script with administrator privileges.
  39. )
  40. ) ELSE (
  41. ECHO Skipping %1 - Already in PATH
  42. )
  43. EXIT /b
  44. :: -----------------------------------------------------------------------------
  45. :KillExplorer
  46. ECHO Your desktop is being restarted, please wait. . .
  47. ping -n 5 127.0.0.1 > NUL 2>&1
  48. ECHO Killing process Explorer.exe. . .
  49. taskkill /f /im explorer.exe
  50. ECHO.
  51. ECHO Your desktop is now loading. . .
  52. ping -n 5 127.0.0.1 > NUL 2>&1
  53. ECHO.
  54. ping -n 5 127.0.0.1 > NUL 2>&1
  55. START explorer.exe
  56. START explorer.exe %CD%
  57. EXIT /b