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