Updater 3.1a
-updatebatch now will (or at least should): *Download new batch and name it [updater]*.bat *Open that script in a new CMD window. *Exit The [updated]*.bat script should: *Copy itself overwriting the original batch (without renaming). *Start that script in a new CMD instance. *Exit. The new script, with the original name, should: *Delete the [updated]*.bat script *Begin the normal script routine. @earthing do you think I should still rename the scripts to .old or something before overwriting/deleting?
This commit is contained in:
parent
0a97660506
commit
00e17281dc
27
updater.bat
27
updater.bat
@ -3,7 +3,7 @@ TITLE ghacks user.js updater
|
|||||||
|
|
||||||
REM ### ghacks-user.js updater for Windows
|
REM ### ghacks-user.js updater for Windows
|
||||||
REM ## author: @claustromaniac
|
REM ## author: @claustromaniac
|
||||||
REM ## version: 3.0
|
REM ## version: 3.1a
|
||||||
|
|
||||||
SET _myname=%~n0
|
SET _myname=%~n0
|
||||||
SET _myparams=%*
|
SET _myparams=%*
|
||||||
@ -37,36 +37,37 @@ GOTO parse
|
|||||||
ECHO.
|
ECHO.
|
||||||
IF DEFINED _updateb (
|
IF DEFINED _updateb (
|
||||||
IF NOT "!_myname:~0,9!"=="[updated]" (
|
IF NOT "!_myname:~0,9!"=="[updated]" (
|
||||||
|
IF EXIST "[updated]!_myname!.bat" (
|
||||||
|
DEL /F "[updated]!_myname!.bat"
|
||||||
|
GOTO begin
|
||||||
|
)
|
||||||
ECHO Checking updater version...
|
ECHO Checking updater version...
|
||||||
ECHO.
|
ECHO.
|
||||||
IF EXIST "[updated]!_myname!.bat" ( DEL /F "[updated]!_myname!.bat" )
|
|
||||||
REM Uncomment the next line and comment the powershell call for testing.
|
REM Uncomment the next line and comment the powershell call for testing.
|
||||||
REM COPY /B /V /Y "!_myname!.bat" "[updated]!_myname!.bat"
|
REM COPY /B /V /Y "!_myname!.bat" "[updated]!_myname!.bat"
|
||||||
(
|
(
|
||||||
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/updater.bat', '[updated]!_myname!.bat')"
|
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/updater.bat', '[updated]!_myname!.bat')"
|
||||||
) >nul 2>&1
|
) >nul 2>&1
|
||||||
IF EXIST "[updated]!_myname!.bat" (
|
IF EXIST "[updated]!_myname!.bat" (
|
||||||
START CMD /C "[updated]!_myname!.bat" !_myparams!
|
START /min CMD /C "[updated]!_myname!.bat" !_myparams!
|
||||||
EXIT /B
|
EXIT /B
|
||||||
) ELSE (
|
) ELSE (
|
||||||
ECHO Failed. Make sure PowerShell is allowed internet access.
|
ECHO Failed. Make sure PowerShell is allowed internet access.
|
||||||
ECHO.
|
ECHO.
|
||||||
TIMEOUT 300
|
TIMEOUT 120
|
||||||
EXIT /B
|
EXIT /B
|
||||||
)
|
)
|
||||||
) ELSE (
|
) ELSE (
|
||||||
IF EXIST "!_myname:~9!.bat" (
|
IF "!_myname!"=="[updated]" (
|
||||||
REN "!_myname:~9!.bat" "!_myname:~9!.old"
|
ECHO.
|
||||||
CALL :begin
|
ECHO The [updated] label is reserved. Rename this script and try again.
|
||||||
REN "!_myname!.bat" "!_myname:~9!.bat"
|
|
||||||
DEL /F "!_myname:~9!.old"
|
|
||||||
EXIT /B
|
|
||||||
) ELSE (
|
|
||||||
ECHO.
|
ECHO.
|
||||||
ECHO The [updated] label is reserved. Do not run an [updated] script directly, or rename it to something else before you run it.
|
|
||||||
TIMEOUT 300
|
TIMEOUT 300
|
||||||
EXIT /B
|
) ELSE (
|
||||||
|
COPY /B /V /Y "!_myname!.bat" "!_myname:~9!.bat"
|
||||||
|
START CMD /C "!_myname:~9!.bat" !_myparams!
|
||||||
)
|
)
|
||||||
|
EXIT /B
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
:begin
|
:begin
|
||||||
|
Loading…
x
Reference in New Issue
Block a user