1-setup-path-win.bat 2.1 KB

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