2014-02-14 25 views
0

我想构建一个批处理程序来与youtube-dl一起工作,并且我想问一些问题(我认为它应该是选择命令)并根据构建的答案将由主youtube-dl命令执行的查询。使查询与youtube-dl一起使用的批处理文件

例子:

echo Do you want to extract audio from this clip? (y/n) 

echo Write subtitle file? (y/n) 

而且这样做结尾:

youtube-dl -x --write-sub some link 

我希望我是清楚的,英语不是我的第一语言。由于

回答

1

试试这个:

@echo off 
setlocal 

:Input 
set opt1= 
set opt2= 
set /p opt1=Do you want to extract audio from this clip (y/n) 
if not defined opt1 goto :Invalid 
if .%opt1% EQU . goto :Invalid 
echo %opt1%|findstr /i /r /c:"y" /c:"n">nul||goto :Invalid 
set /p opt2=Write subtitle file (y/n) 
if not defined opt2 goto :Invalid 
if .%opt1% EQU . goto :Invalid 
echo %opt2%|findstr /i /r /c:"y" /c:"n">nul||goto :Invalid 
if /i %opt1% EQU Y set opts=-x 
if /i %opt2% EQU Y set opts=%opts% --write-sub 
echo youtube-dl %opts% some link 
goto :eof 

:Invalid 
Echo You have entered an invalid option. Please enter only y or n 
goto :Input 
+0

我从最后一行除去回声和现在的作品,谢谢。什么setlocal是什么意思?我对这一切都很陌生... – dukasvili

+0

如何防止不回答问题,空字符串或除y和n以外的其他内容? – dukasvili

+0

当然。查看更新的代码 –