Updating my entry in the README
[jackhill/qmk/firmware.git] / 1-setup-path-win.bat
CommitLineData
a3ed4322
I
1@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
2@ECHO OFF
3SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
8f1ea16a 4
a3ed4322
I
5SET NEWPATH1="C:\MinGW\msys\1.0\bin"
6SET NEWPATH2="C:\MinGW\bin"
8f1ea16a 7
b437de88
N
8:: Make sure we're running with administrator privileges
9NET SESSION >nul 2>&1
10IF 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 16IF NOT EXIST !NEWPATH2! (ECHO Path not found: %NEWPATH2% && GOTO ExitBatch)
8f1ea16a 17
a3ed4322
I
18:: Add paths
19CALL :AddPath %NEWPATH1%
20CALL :AddPath %NEWPATH2%
21
22:: Branch to UpdateEnv if we need to update
23IF DEFINED UPDATE (GOTO UpdateEnv)
24
25GOTO ExitBatch
26
27:: -----------------------------------------------------------------------------
28
29:UpdateEnv
30ECHO Making updated PATH go live . . .
31REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
32setx TEMPVAR 1 > nul 2>&1
33REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
34IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer)
35GOTO ExitBatch
36
37:: -----------------------------------------------------------------------------
38
39:ExitBatch
40ENDLOCAL
41PAUSE
42EXIT /b
43
44:: -----------------------------------------------------------------------------
45
46:AddPath <pathToAdd>
47ECHO %PATH% | FINDSTR /C:"%~1" > nul
48IF 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 )
60EXIT /b
61
62:: -----------------------------------------------------------------------------
63
64:KillExplorer
65
66ECHO Your desktop is being restarted, please wait. . .
67ping -n 5 127.0.0.1 > NUL 2>&1
68ECHO Killing process Explorer.exe. . .
69taskkill /f /im explorer.exe
70ECHO.
71ECHO Your desktop is now loading. . .
72ping -n 5 127.0.0.1 > NUL 2>&1
73ECHO.
74ping -n 5 127.0.0.1 > NUL 2>&1
75START explorer.exe
76START explorer.exe %CD%
77EXIT /b