From a955aa54181a56cf601a9eda27d66c66290f5363 Mon Sep 17 00:00:00 2001 From: claustromaniac <20734810+claustromaniac@users.noreply.github.com> Date: Sun, 26 Nov 2017 20:18:03 +0000 Subject: [PATCH] Mostly streamlining Fixed botched -logp switch too. --- updater.bat | 188 +++++++++++++++++----------------------------------- 1 file changed, 59 insertions(+), 129 deletions(-) diff --git a/updater.bat b/updater.bat index 5d38db8..b30ee77 100644 --- a/updater.bat +++ b/updater.bat @@ -38,9 +38,7 @@ ECHO. IF DEFINED _updateb ( ECHO Checking updater version... ECHO. - IF EXIST "!_myname!-updated.bat" ( - DEL /F "!_myname!-updated.bat" - ) + DEL /F "!_myname!-updated.bat" >nul 2>&1 powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/updater.bat', '!_myname!-updated.bat')" >nul IF EXIST "!_myname!-updated.bat" ( CLS @@ -57,7 +55,44 @@ IF DEFINED _updateb ( PAUSE GOTO end ) +) ELSE ( + IF NOT "!_myname!"=="!_myname:-updated=X!" ( + CALL :renameafterImdone + REN "!_myname!.bat" "!_myname:-updated=!.bat" + EXIT /B + ) ) +REM -------------- Merge function ---------------------------- +:merge +IF "%4"=="GO" ( + FOR /F "tokens=* delims=" %%G IN (%1) DO ( + SET _pref=%%G + SET "_temp=!_pref: =!" + IF /I "user"=="!_temp:~0,4!" ( + FOR /F "delims=," %%S IN ("!_pref!") DO ( + SET _pref=%%S + ) + SET _pref=!_pref:"=""! + FIND /I "!_pref!" %2 >nul 2>&1 + IF ERRORLEVEL 1 ( + FIND /I "!_pref!" %1 >%3 + FOR /F "tokens=* delims=" %%X IN (%3) DO ( + SET _temp=%%X + SET "_temp=!_temp: =!" + IF /I "user"=="!_temp:~0,4!" ( + SET _pref=%%X + ) + ) + ECHO !_pref!>>%2 + ) + ) ELSE ( + ECHO !_pref!>>%2 + ) + ) + EXIT /B +) +REM -------------------------------------------------------- +:renameafterImdone SET /A "_line=0" IF NOT EXIST user.js ( ECHO user.js not detected in the current directory. @@ -105,6 +140,9 @@ CLS ECHO. IF DEFINED _log ( CALL :log >>user.js-update-log.txt 2>&1 + IF DEFINED _logp ( + "user.js-update-log.txt" + ) EXIT /B :log ECHO ################################################################## @@ -113,9 +151,7 @@ IF DEFINED _log ( ECHO. ) IF EXIST user.js ( - IF EXIST user.js.bak ( - REN user.js.bak user.js.old.bak - ) + REN user.js.bak user.js.old.bak >nul 2>&1 REN user.js user.js.bak ECHO Current user.js file backed up. ECHO. @@ -132,75 +168,17 @@ IF EXIST user.js ( ECHO. ECHO Merging... ECHO. - IF EXIST user-overrides-merged.js ( - DEL /F user-overrides-merged.js - ) - IF EXIST temp2 ( - DEL /F temp2 - ) - IF EXIST temp3 ( - DEL /F temp3 - ) + DEL /F temp2 >nul 2>&1 + DEL /F temp3 >nul 2>&1 + DEL /F user-overrides-merged.js >nul 2>&1 COPY /B /V /Y user.js-overrides\*.js user-overrides - FOR /F "tokens=* delims=" %%G IN (user-overrides) DO ( - SET _pref=%%G - SET "_temp=!_pref: =!" - IF /I "user"=="!_temp:~0,4!" ( - FOR /F "delims=," %%S IN ("!_pref!") DO ( - SET _pref=%%S - ) - SET _pref=!_pref:"=""! - FIND /I "!_pref!" user-overrides-merged.js >nul 2>&1 - IF ERRORLEVEL 1 ( - FIND /I "!_pref!" user-overrides >temp1 - FOR /F "tokens=* delims=" %%X IN (temp1) DO ( - SET _temp=%%X - SET "_temp=!_temp: =!" - IF /I "user"=="!_temp:~0,4!" ( - SET _pref=%%X - ) - ) - ECHO !_pref!>>user-overrides-merged.js - ) - ) ELSE ( - ECHO !_pref!>>user-overrides-merged.js - ) - ) + CALL :merge user-overrides user-overrides-merged.js temp1 GO COPY /B /V /Y user.js+user-overrides-merged.js temp2 - FOR /F "tokens=* delims=" %%G IN (temp2) DO ( - SET _pref=%%G - SET "_temp=!_pref: =!" - IF /I "user"=="!_temp:~0,4!" ( - FOR /F "delims=," %%S IN ("!_pref!") DO ( - SET _pref=%%S - ) - SET _pref=!_pref:"=""! - FIND /I "!_pref!" temp3 >nul 2>&1 - IF ERRORLEVEL 1 ( - FIND /I "!_pref!" temp2 >temp1 - FOR /F "tokens=* delims=" %%X IN (temp1) DO ( - SET _temp=%%X - SET "_temp=!_temp: =!" - IF /I "user"=="!_temp:~0,4!" ( - SET _pref=%%X - ) - ) - ECHO !_pref!>>temp3 - ) - ) ELSE ( - ECHO !_pref!>>temp3 - ) - ) - IF EXIST user.js ( - DEL /F user.js - ) - IF EXIST temp2 ( - DEL /F temp2 - ) + DEL /F user.js >nul 2>&1 + CALL :merge temp2 user.js temp1 GO + DEL /F temp2 >nul 2>&1 + DEL /F temp1 >nul 2>&1 REN temp3 user.js - IF EXIST temp1 ( - DEL /F temp1 - ) ) ELSE ( ECHO. ECHO Appending... @@ -213,47 +191,12 @@ IF EXIST user.js ( IF EXIST "user-overrides.js" ( IF DEFINED _merge ( ECHO Merging user-overrides.js... - IF EXIST temp2 ( - DEL /F temp2 - ) - IF EXIST temp3 ( - DEL /F temp3 - ) + DEL /F temp2 >nul 2>&1 + DEL /F user.js >nul 2>&1 COPY /B /V /Y user.js+user-overrides.js temp2 - FOR /F "tokens=* delims=" %%G IN (temp2) DO ( - SET _pref=%%G - SET "_temp=!_pref: =!" - IF /I "user"=="!_temp:~0,4!" ( - FOR /F "delims=," %%S IN ("!_pref!") DO ( - SET _pref=%%S - ) - SET _pref=!_pref:"=""! - FIND /I "!_pref!" temp3 >nul 2>&1 - IF ERRORLEVEL 1 ( - FIND /I "!_pref!" temp2 >temp1 - FOR /F "tokens=* delims=" %%X IN (temp1) DO ( - SET _temp=%%X - SET "_temp=!_temp: =!" - IF /I "user"=="!_temp:~0,4!" ( - SET _pref=%%X - ) - ) - ECHO !_pref!>>temp3 - ) - ) ELSE ( - ECHO !_pref!>>temp3 - ) - ) - IF EXIST user.js ( - DEL /F user.js - ) - REN temp3 user.js - IF EXIST temp1 ( - DEL /F temp1 - ) - IF EXIST temp2 ( - DEL /F temp2 - ) + CALL :merge temp2 user.js temp1 GO + DEL /F temp1 >nul 2>&1 + DEL /F temp2 >nul 2>&1 ) ELSE ( ECHO Appending user-overrides.js... ECHO. @@ -272,14 +215,12 @@ IF EXIST user.js ( ECHO. ECHO. IF "!changed!"=="true" ( - IF EXIST user.js.old.bak ( - DEL /F user.js.old.bak - ) + DEL /F user.js.old.bak >nul 2>&1 ECHO Update complete. ) ELSE ( IF "!changed!"=="false" ( DEL /F user.js.bak - IF EXIST user.js.old.bak REN user.js.old.bak user.js.bak + REN user.js.old.bak user.js.bak >nul 2>&1 ECHO Update completed without changes. ) ELSE ( ECHO Update complete. @@ -287,12 +228,8 @@ IF EXIST user.js ( ) ECHO. ) ELSE ( - IF EXIST user.js.bak ( - REN user.js.bak user.js - ) - IF EXIST user.js.old.bak ( - REN user.js.old.bak user.js.bak - ) + REN user.js.bak user.js >nul 2>&1 + REN user.js.old.bak user.js.bak >nul 2>&1 ECHO. ECHO Update failed. Make sure PowerShell is allowed internet access. ECHO. @@ -303,10 +240,3 @@ IF NOT DEFINED _log ( IF NOT DEFINED _ua PAUSE ) :end -IF DEFINED _logp ( - START user.js-update-log.txt -) -IF NOT "!_myname!"=="!_myname:-updated=X!" ( - REN "!_myname!.bat" "!_myname:-updated=!.bat" - EXIT /B -)