我正在尝试使用下面的批处理文件来处理一堆YouTube视频。
@echo off
echo Starting batch script
cd C:\Users\username\Desktop\youtube-dl
youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_l9XKOFt6oHtwWWnt_zNg3PX5Wssi4s4Ss" --audio-quality 0
youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_kP8cX8DV33AWt9L5QCuwQzWYqae2jMcIo" --audio-quality 0
youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_nNJBk4Zdivjgrj54NgPsubqd4VolevUd0" --audio-quality 0
echo all file operations completeyoutube-dl位于cd C:\Users\username\Desktop\youtube-dl
如果我将3个youtube-dl命令分别粘贴到命令提示符中,那么每个命令都可以正常工作。
但是,当我运行这个批处理文件(.bat扩展名)时,我会得到以下错误:
youtube-dl:错误:您必须提供至少一个URL
我能做些什么来修复这个批处理文件?
Update:我认为正在发生的事情是同时输入所有3个youtube-dl命令。怎样才能使第二只只在第一只完成加工后才进入,第三只在第二只完成处理后才进入?
更新2:因此,在进一步研究时,我的代码中的%符号在通过批处理脚本执行时似乎不会以相同的方式解释。批处理脚本忽略了%之间的内容。对于如何解决这个问题,有什么想法吗?
发布于 2019-07-25 18:07:02
如果要在批处理文件中执行此操作,则需要使用另一个类似于此的%:%%来转义。如果命令使用正确的语法:
@echo off
echo Starting batch script
cd C:\Users\username\Desktop\youtube-dl
youtube-dl -o "%%(playlist_index)s-%%(title)s.%%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_l9XKOFt6oHtwWWnt_zNg3PX5Wssi4s4Ss" --audio-quality 0
youtube-dl -o "%%(playlist_index)s-%%(title)s.%%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_kP8cX8DV33AWt9L5QCuwQzWYqae2jMcIo" --audio-quality 0
youtube-dl -o "%%(playlist_index)s-%%(title)s.%%(ext)s" --extract-audio --audio-format mp3 --prefer-ffmpeg --ffmpeg-location "..\..\FFMPEG" "https://www.youtube.com/playlist?list=OLAK5uy_nNJBk4Zdivjgrj54NgPsubqd4VolevUd0" --audio-quality 0
echo all file operations complete进一步阅读:百分比符号
https://stackoverflow.com/questions/57207325
复制相似问题