Advertisement
AyrA

YTU.BAT

Jun 19th, 2017
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.57 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL
  3.  
  4. SET P=C:\BAT\YT
  5. SET NEW=%P%\youtube-dl-new.exe
  6. SET OLD=%P%\youtube-dl.exe
  7. SET URL=http://youtube-dl.org/downloads/latest/youtube-dl.exe
  8. SET CHECK=https://rg3.github.io/youtube-dl/update/LATEST_VERSION
  9. SET CHKNEW=%P%\NEW.TXT
  10. SET CHKOLD=%P%\OLD.TXT
  11. SET HELP=%P%\HELP.TXT
  12. SET DAYFILE=%P%\ytu-daily.txt
  13. SET TEMPDAYFILE=%TEMP%\COMPARE.TXT
  14.  
  15. REM ======================
  16. REM == No changes below ==
  17. REM ======================
  18.  
  19. REM If the file does not exists, download regardless of errors.
  20. IF NOT EXIST "%OLD%" GOTO FIRSTRUN
  21. GOTO DAYCHECK
  22.  
  23. REM Delete any remaining files and download new copy
  24. :FURSTRUN
  25. IF EXIST "%CHKOLD%" DEL "%CHKOLD%"
  26. IF EXIST "%OLD%" DEL "%OLD%"
  27. IF EXIST "%NEW%" DEL "%NEW%"
  28. IF EXIST "%HELP%" DEL "%HELP%"
  29. GOTO DOWNLOAD
  30.  
  31. REM Check if we did this already today
  32. :DAYCHECK
  33. IF /I "%~1"=="/F" GOTO DOWNLOAD
  34. IF NOT EXIST %DAYFILE% ECHO NODATE>%DAYFILE%
  35. ECHO %DATE%>"%TEMPDAYFILE%"
  36. ECHO N | COMP %DAYFILE% "%TEMPDAYFILE%" 2> NUL 1> NUL
  37. IF %ERRORLEVEL%==0 GOTO NODAY
  38. DEL "%TEMPDAYFILE%"
  39. GOTO DOWNLOAD
  40.  
  41. REM Download already done for today
  42. :NODAY
  43. DEL "%TEMPDAYFILE%"
  44. IF /I "%~1"=="/S" GOTO END
  45. ECHO Update check was already done today. Use /F to override
  46. GOTO END
  47.  
  48. REM Load new version definition
  49. :DOWNLOAD
  50. get /noproxy %CHECK% %CHKNEW%
  51.  
  52. REM Skip version check if forced update
  53. IF /I "%~1"=="/F" GOTO UPDATE
  54.  
  55. REM Make sure new file was loaded
  56. IF NOT EXIST %CHKNEW% GOTO ERRLOAD
  57. REM If old version does not exists, just download new version
  58. IF NOT EXIST %CHKOLD% GOTO UPDATE
  59. GOTO TEST
  60.  
  61. REM Make sure new version is different
  62. :TEST
  63. ECHO N | COMP %CHKNEW% %CHKOLD% 2> NUL 1> NUL
  64. IF %ERRORLEVEL%==0 GOTO NOUPDATE
  65. GOTO UPDATE
  66.  
  67. REM Not updated, because no is available
  68. :NOUPDATE
  69. ECHO %DATE%>%DAYFILE%
  70. ECHO No new Version available. Current version:
  71. TYPE %CHKNEW%
  72. GOTO END
  73.  
  74. REM New version available, download it.
  75. :UPDATE
  76. ECHO Downloading new Version...
  77. get /noproxy %URL% %NEW%
  78. IF NOT EXIST %NEW% GOTO ERRLOAD
  79. GOTO REPLACE
  80.  
  81. REM Replaces the current version with the new one
  82. :REPLACE
  83. IF EXIST %OLD% DEL %OLD%
  84. IF EXIST %OLD% GOTO ERRDEL
  85. MOVE %NEW% %OLD%>NUL
  86. IF EXIST %CHKOLD% DEL %CHKOLD%
  87. IF EXIST %CHKOLD% GOTO ERRDEL
  88. MOVE %CHKNEW% %CHKOLD%>NUL
  89. %OLD% --help > %HELP%
  90. ECHO %DATE%>%DAYFILE%
  91. ECHO Update success
  92. GOTO END
  93.  
  94. REM Can't downlaod version definition or application
  95. :ERRLOAD
  96. ECHO Can't download new version.
  97. GOTO END
  98.  
  99. REM Can't delete old version definition or application
  100. :ERRDEL
  101. ECHO Can't delete old version.
  102. IF EXIST %NEW% DEL %NEW%
  103. IF EXIST %CHKNEW% DEL %CHKNEW%
  104. GOTO END
  105.  
  106. REM All done
  107. :END
  108. ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement