Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- SETLOCAL
- SET P=C:\BAT\YT
- SET NEW=%P%\youtube-dl-new.exe
- SET OLD=%P%\youtube-dl.exe
- SET URL=http://youtube-dl.org/downloads/latest/youtube-dl.exe
- SET CHECK=https://rg3.github.io/youtube-dl/update/LATEST_VERSION
- SET CHKNEW=%P%\NEW.TXT
- SET CHKOLD=%P%\OLD.TXT
- SET HELP=%P%\HELP.TXT
- SET DAYFILE=%P%\ytu-daily.txt
- SET TEMPDAYFILE=%TEMP%\COMPARE.TXT
- REM ======================
- REM == No changes below ==
- REM ======================
- REM If the file does not exists, download regardless of errors.
- IF NOT EXIST "%OLD%" GOTO FIRSTRUN
- GOTO DAYCHECK
- REM Delete any remaining files and download new copy
- :FURSTRUN
- IF EXIST "%CHKOLD%" DEL "%CHKOLD%"
- IF EXIST "%OLD%" DEL "%OLD%"
- IF EXIST "%NEW%" DEL "%NEW%"
- IF EXIST "%HELP%" DEL "%HELP%"
- GOTO DOWNLOAD
- REM Check if we did this already today
- :DAYCHECK
- IF /I "%~1"=="/F" GOTO DOWNLOAD
- IF NOT EXIST %DAYFILE% ECHO NODATE>%DAYFILE%
- ECHO %DATE%>"%TEMPDAYFILE%"
- ECHO N | COMP %DAYFILE% "%TEMPDAYFILE%" 2> NUL 1> NUL
- IF %ERRORLEVEL%==0 GOTO NODAY
- DEL "%TEMPDAYFILE%"
- GOTO DOWNLOAD
- REM Download already done for today
- :NODAY
- DEL "%TEMPDAYFILE%"
- IF /I "%~1"=="/S" GOTO END
- ECHO Update check was already done today. Use /F to override
- GOTO END
- REM Load new version definition
- :DOWNLOAD
- get /noproxy %CHECK% %CHKNEW%
- REM Skip version check if forced update
- IF /I "%~1"=="/F" GOTO UPDATE
- REM Make sure new file was loaded
- IF NOT EXIST %CHKNEW% GOTO ERRLOAD
- REM If old version does not exists, just download new version
- IF NOT EXIST %CHKOLD% GOTO UPDATE
- GOTO TEST
- REM Make sure new version is different
- :TEST
- ECHO N | COMP %CHKNEW% %CHKOLD% 2> NUL 1> NUL
- IF %ERRORLEVEL%==0 GOTO NOUPDATE
- GOTO UPDATE
- REM Not updated, because no is available
- :NOUPDATE
- ECHO %DATE%>%DAYFILE%
- ECHO No new Version available. Current version:
- TYPE %CHKNEW%
- GOTO END
- REM New version available, download it.
- :UPDATE
- ECHO Downloading new Version...
- get /noproxy %URL% %NEW%
- IF NOT EXIST %NEW% GOTO ERRLOAD
- GOTO REPLACE
- REM Replaces the current version with the new one
- :REPLACE
- IF EXIST %OLD% DEL %OLD%
- IF EXIST %OLD% GOTO ERRDEL
- MOVE %NEW% %OLD%>NUL
- IF EXIST %CHKOLD% DEL %CHKOLD%
- IF EXIST %CHKOLD% GOTO ERRDEL
- MOVE %CHKNEW% %CHKOLD%>NUL
- %OLD% --help > %HELP%
- ECHO %DATE%>%DAYFILE%
- ECHO Update success
- GOTO END
- REM Can't downlaod version definition or application
- :ERRLOAD
- ECHO Can't download new version.
- GOTO END
- REM Can't delete old version definition or application
- :ERRDEL
- ECHO Can't delete old version.
- IF EXIST %NEW% DEL %NEW%
- IF EXIST %CHKNEW% DEL %CHKNEW%
- GOTO END
- REM All done
- :END
- ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement