所以,我一直在研究一个基本上可以帮助你youtube-dl的批处理脚本,基本上可以将所需的所有数据下载到一个目录中。我希望能够创建一个启动它的特殊快捷方式,而不是按照通常的方式执行操作,我希望它通过一个文本文件(例如,让我们称之为更新list.txt)并在该快捷方式时更新播放列表运行。我不想制作另一个这样做的批处理文件(为了用户的简单)。
这是我到目前为止所拥有的:
@echo off
:loop
title Welcome to CCF_100's youtube-dl helper!
set /A loop=loop+1
echo.Times Looped: %loop%
cd %~dp0
set /p input=Enter YouTube ID, URL, or Playlist ID:
set /p Output_Dir=Enter Directory you want to save in (Directory will be
created if it does not exist):
set /p flags=Enter flags (Optional):
if exist %Output_Dir%\ (goto Do_the_thing) else (goto make_directory)
:make_directory
mkdir "%Output_Dir%"
if /I %loop% LEQ 2 goto Do_the_thing
explorer "%Output_Dir%"
:Do_the_thing
title CCF_100's ytdl helper: currently downloading: %input% to %Output_Dir%
youtube-dl.exe -i -U %flags% -o "%Output_Dir%\%%(title)s - %%(id)s.%%(ext)s"
%input%
set /p loop=Successfully downloaded file(s). Download more?
if /i %loop%==y goto loop
if /i %loop%==Y goto loop
if /i %loop%==n goto end
if /i %loop%==N goto end
:end
exit
是的,我知道最后两个if语句是不必要的。
答案 0 :(得分:0)
您可以通过读取%n
的值来获取批处理文件的参数,其中n是0到9之间的数字或星号。 0是批处理文件本身(在其路径的意义上),星号表示任何其他参数(不包括批处理文件路径)。
因此,您可以检查%1
的内容,看看它是您想到的标志还是存在的标志:
REM Demo only!
@echo off
if "%1"=="" (
echo no flags set
) ELSE (
echo flag set: %1
)
或以类似方式更改if以仅对您的旗帜做出反应。