指令;youtube-dl:将输出文件名存储为变量

Ray*_*rth 1 cmd.exe youtube-dl

如何在使用 youtube-dl 下载电影后将输出文件名和扩展名存储为变量并稍后在 CMD 批处理中使用它?以下是从 YouTube 下载视频到当前目录的命令示例,其中URL是视频的 URL。

youtube-dl URL
Run Code Online (Sandbox Code Playgroud)

将输出文件名存储在名为my_variable.

编辑:为了完全具体,我想使用一个简单的 cmd 批处理文件下载带有 youtube-dl 的视频,该文件将在最后提供一个 CHOICE 命令,并提供使用 MPC-HC 打开输出文件的选项。

我需要将输出放入变量的方法

youtube-dl --get-filename -o "%(title)s.%(ext)s" URL
Run Code Online (Sandbox Code Playgroud)

所以我可以稍后将它用于以下行

"C:\Program Files\MPC-HC\mpc-hc64.exe" "D:\Downloads\%my_variable%" /play
Run Code Online (Sandbox Code Playgroud)

kar*_*rel 9

以下命令下载一个 YouTube 视频,并使用与 YouTube 上相同的标题命名,后跟下载的视频的扩展名。

youtube-dl -o "%(title)s.%(ext)s" URL
Run Code Online (Sandbox Code Playgroud)

以下命令仅下载视频的标题和扩展名,并在命令后的下一行显示结果。

youtube-dl --get-filename -o "%(title)s.%(ext)s" URL
Run Code Online (Sandbox Code Playgroud)

Windows 批处理文件中的以下命令仅下载视频的标题和扩展名,并将结果存储在名为my_variable.

for /f "delims=" %%a in ('youtube-dl --get-filename -o "%(title)s.%(ext)s" URL') do @set my_variable=%%a
Run Code Online (Sandbox Code Playgroud)

在所有三个命令中,您还可以使用多个由空格字符分隔的 URL 而不是单个 URL。您还可以使用该--batch-file FILE选项将 URL 替换为存储在批处理文件中的 URL 列表(例如FILE)。

  • 这通常不起作用。当您执行 `youtube-dl --get-filename -o "%(title)s.%(ext)s" https://www.youtube.com/watch?v=vDHtypVwbHQ` 时(任何人都可以安全地尝试它,这是一个 5 秒视频),它返回“欣赏自然(5 秒视频).webm”。但当您实际下载该文件时,它会创建“欣赏自然(5 秒视频).mkv”。扩展名不同。 (2认同)