updater.bat 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. @ECHO OFF
  2. TITLE ghacks user.js updater
  3. REM ### ghacks-user.js updater for Windows
  4. REM ## author: @claustromaniac
  5. REM ## version: 1.0
  6. SETLOCAL EnableDelayedExpansion
  7. SET "_name="
  8. SET "_date="
  9. SET "_version="
  10. SET /A "_line=0"
  11. IF EXIST user.js (
  12. FOR /F "delims=" %%i IN (user.js) DO (
  13. IF !_line! EQU 1 SET "_name=%%i"
  14. IF !_line! EQU 2 SET "_date=%%i"
  15. IF !_line! EQU 3 SET "_version=%%i"
  16. SET /A "_line+=1"
  17. IF !_line! GEQ 4 GOTO break
  18. )
  19. :break:
  20. IF !_line! GEQ 4 (
  21. IF "ghacks"=="!_name:~8,6!" (
  22. FOR /F "delims=:" %%G IN ("!_version!") DO SET "_version=%%G"
  23. SET "_version=!_version:~2!"
  24. SET "_date=!_date:~8!"
  25. ECHO ghacks user.js !_version!, !_date!
  26. ) ELSE ( ECHO Current user.js version not recognised. )
  27. )
  28. ) ELSE ( ECHO user.js not found. )
  29. ECHO.
  30. ECHO This batch should be run from your Firefox profile directory. It will download the latest version of ghacks user.js from github and then append any of your own changes from user-overrides.js to it.
  31. ECHO.
  32. CHOICE /M "Continue"
  33. IF ERRORLEVEL 2 GOTO end
  34. CLS
  35. ECHO.
  36. IF EXIST user.js (
  37. IF EXIST user.js.bak REN user.js.bak user.js.old.bak
  38. REN user.js user.js.bak
  39. ECHO Current user.js file backed up.
  40. ECHO.
  41. )
  42. ECHO Retrieving latest user.js file from ghacks github repository...
  43. powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/user.js', 'user.js')"
  44. ECHO.
  45. IF EXIST user.js (
  46. IF EXIST "user-overrides.js" (
  47. COPY /b user.js+"user-overrides.js" "temp.js"
  48. DEL user.js
  49. REN temp.js user.js
  50. )
  51. FC user.js.bak user.js >nul && DEL user.js.bak || IF EXIST user.js.old.bak DEL user.js.old.bak
  52. IF EXIST user.js.old.bak REN user.js.old.bak user.js.bak
  53. CLS
  54. ECHO.
  55. ECHO Successfully updated!
  56. ECHO.
  57. TIMEOUT 10
  58. ) ELSE (
  59. IF EXIST user.js.bak REN user.js.bak user.js
  60. IF EXIST user.js.old.bak REN user.js.old.bak user.js.bak
  61. ECHO.
  62. ECHO Update failed. Make sure PowerShell is allowed internet access.
  63. ECHO.
  64. PAUSE
  65. )
  66. :end: