1-setup-path-win.bat 1.9 KB

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