1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- @SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
- @ECHO OFF
- SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
- SET NEWPATH1="C:\MinGW\msys\1.0\bin"
- SET NEWPATH2="C:\MinGW\bin"
- :: Make sure we're running with administrator privileges
- NET SESSION >nul 2>&1
- IF ERRORLEVEL 1 (
- ECHO FAILED. Run this script with administrator privileges.
- GOTO ExitBatch
- )
- :: Make sure the second path exists. The first path won't be created until the second script is run
- IF NOT EXIST !NEWPATH2! (ECHO Path not found: %NEWPATH2% && GOTO ExitBatch)
- :: Add paths
- CALL :AddPath %NEWPATH1%
- CALL :AddPath %NEWPATH2%
- :: Branch to UpdateEnv if we need to update
- IF DEFINED UPDATE (GOTO UpdateEnv)
- GOTO ExitBatch
- :: -----------------------------------------------------------------------------
- :UpdateEnv
- ECHO Making updated PATH go live . . .
- REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
- setx TEMPVAR 1 > nul 2>&1
- REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
- IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer)
- GOTO ExitBatch
- :: -----------------------------------------------------------------------------
- :ExitBatch
- ENDLOCAL
- PAUSE
- EXIT /b
- :: -----------------------------------------------------------------------------
- :AddPath <pathToAdd>
- ECHO %PATH% | FINDSTR /C:"%~1" > nul
- IF ERRORLEVEL 1 (
- REG add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v PATH /t REG_SZ /d "%PATH%;%~1" > nul 2>&1
- IF ERRORLEVEL 0 (
- ECHO Adding %1 . . . Success!
- SET "PATH=%PATH%;%~1"
- SET UPDATE=1
- ) ELSE (
- ECHO Adding %1 . . . FAILED. Run this script with administrator privileges.
- )
- ) ELSE (
- ECHO Skipping %1 - Already in PATH
- )
- EXIT /b
- :: -----------------------------------------------------------------------------
- :KillExplorer
- ECHO Your desktop is being restarted, please wait. . .
- ping -n 5 127.0.0.1 > NUL 2>&1
- ECHO Killing process Explorer.exe. . .
- taskkill /f /im explorer.exe
- ECHO.
- ECHO Your desktop is now loading. . .
- ping -n 5 127.0.0.1 > NUL 2>&1
- ECHO.
- ping -n 5 127.0.0.1 > NUL 2>&1
- START explorer.exe
- START explorer.exe %CD%
- EXIT /b
|