Windows Batch:使用用户输入作为命令参数

时间:2017-11-01 19:39:34

标签: windows batch-file youtube-dl

我最近发现了youtube-dl,我想在youtube-dl可执行文件的文件夹中创建一个批处理文件,该文件要求输入网址并在

中使用该网址
youtube-dl --extract-audio --audio-format mp3 -i -o songs\%(title)s.%(ext)s <video URL>

命令,将视频保存为与可执行文件位于同一文件路径中的\ songs \文件夹中的mp3文件。如果我将它复制粘贴到命令提示符并将<video url>替换为实际的url,那么该命令工作正常,但是当我尝试将其放入批处理文件中时(例如使用set var1=""),它使用变量的命令中的名称(youtube-dl --extract-audio --audio-format mp3 -i -o songs\%(title)s.%(ext)s var1)。

我找到了this,这似乎是我正在寻找的,但它没有任何意义。

1 个答案:

答案 0 :(得分:0)

将命令复制到批处理文件时,您需要将%替换为%%,以便正确解释-o选项的输出模板参数(即作为字符串%(title)s.%(ext)s)。

如果您希望系统提示您输入链接,批处理文件可能如下所示:

set /p var1=  "Enter youtube link: "
youtube-dl --extract-audio --audio-format mp3 -i -o songs\%%(title)s.%%(ext)s %var1%

或者,只需在调用脚本(var1)之前或在脚本本身中设置set var1=youtube-link