Batch file 定期运行youtube dl
假设我在连接youtube时遇到一些问题,并且在下载完整频道时不断收到WinError 10060,最重要的是,我在尝试修复这一问题时不顾一切(问题不在于某个特定的视频,因为当我开始正常下载时) 我的目标是通过创建一个带有无限循环的批处理文件来绕过这个问题,在这个错误发生后,该文件将使用相同的参数再次运行youtube dl 我一直在寻找解决方案,我当前的循环bat包含以下内容:Batch file 定期运行youtube dl,batch-file,youtube-dl,Batch File,Youtube Dl,假设我在连接youtube时遇到一些问题,并且在下载完整频道时不断收到WinError 10060,最重要的是,我在尝试修复这一问题时不顾一切(问题不在于某个特定的视频,因为当我开始正常下载时) 我的目标是通过创建一个带有无限循环的批处理文件来绕过这个问题,在这个错误发生后,该文件将使用相同的参数再次运行youtube dl 我一直在寻找解决方案,我当前的循环bat包含以下内容: :LOOP timeout /T 1 /NOBREAK call MainDownload.bat echo "St
:LOOP
timeout /T 1 /NOBREAK
call MainDownload.bat
echo "Stop Recorded">> log.txt
if not ErrorLevel 1 goto :LOOP
尝试此操作后,我可以在日志中看到“停止记录”,但mainload.bat不会再次运行
有人能提供一个解决方案,使它无限运行,直到我手动关闭它吗
提前感谢。如果您在没有参数的情况下运行
youtube dl.exe
,您将得到一个错误。
如果在此之后检查errorlevel
,您将得到2。因此youtube dl
在发生错误时设置错误级别
@echo off
youtube-dl.exe 2>nul
echo %errorlevel%
直接在bat中运行youtube dl
,以获得良好的errorlevel
大概是这样的:
@echo off
:LOOP
timeout /T 1 /NOBREAK
youtube-dl -v -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" --yes-playlist --download-archive DownloadedVideosArchive -o "%%(uploader)s/%%(playlist)s/%%(playlist_index)s - %%(title)s [%%(upload_date)s].%%(ext)s" --batch-file Playlists.txt
if %errorlevel% GTR 0 (
echo [%time%] "Stop Recorded" >> log.txt
goto :LOOP
)
只要去掉
如果不是ErrorLevel 1
并使其状态为goto:LOOP
,在这种情况下,是否有必要用特定视频或任何其他错误标记错误?喜欢把它泡到日志文本吗?请拿着,读,和。您尚未发布MCVE。mainload.bat在什么条件下返回什么值?mainload.bat包含一个简单的youtube dl执行:youtube dl-v-f“bestvideo[ext=mp4]+bestaudio[ext=mp4]/best”--是的播放列表--下载存档下载的视频Sarchive-o“%%(上传者)s/%%(播放列表)s/%%(播放列表索引)s-%%(标题)s[%(上传日期)s]%(ext)s”--批处理文件Playlists.txt
,我没有找到任何方法来区分youtube dl自述文件中的错误,但我认为上述解决方案现在就足够了,谢谢您的帮助。