0

I recently discovered youtube-dl and I wanted to make a batch file within the folder of the youtube-dl executable that asks for a url and uses that url in the

youtube-dl --extract-audio --audio-format mp3 -i -o songs\%(title)s.%(ext)s <video URL>

command, which saves the video as an mp3 file in the \songs\ folder in the same filepath as the executable. The command works fine if I copy-paste it into a command prompt and replace <video url> with the actual url, but when I try to put this in a batch file (e.g. with set var1="") it uses the variable's name in the command (youtube-dl --extract-audio --audio-format mp3 -i -o songs\%(title)s.%(ext)s var1).

I've found this, and it seems to be what I'm looking for, but it didn't make any sense.

1 Answers1

0

When copying the command into a batch file, you'll need to replace % with %%, so that the output template parameter to the -o option will be interpreted correctly (i.e. as the string %(title)s.%(ext)s).

If you prefer to be prompted to enter the link, batch file may look like this:

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

Or, just set var1 before calling the script (set var1=youtube-link), or in the script itself.

valiano
  • 16,433
  • 7
  • 64
  • 79