1. 安装 yt-dlp
winget 随 Windows 10 和 11 一起提供,并且会替你处理 PATH——手工安装时出错的正是这一步。
winget install yt-dlp.yt-dlp
如果你已经在用 Scoop 或 Chocolatey,两者同样没问题:
scoop install yt-dlp choco install yt-dlp
手工的做法是从官方发布页面拿一个 yt-dlp.exe。把它放进 PATH 里的某个文件夹——放在桌面上只在终端恰好位于那个文件夹时才管用,而这正是「yt-dlp is not recognized」的常见原因。
2. 安装 ffmpeg
没有 ffmpeg,yt-dlp 也能下载,但所有有意思的功能都要靠它:合并分离的视频和音频、提取 MP3、嵌入字幕或缩略图、剪切片段。现在就装,别等到第一次莫名其妙失败之后。
winget install Gyan.FFmpeg
3. 确认装好了
打开一个新的终端——已经开着的那个还用着旧的 PATH——然后运行:
yt-dlp --version ffmpeg -version
出现两个版本号就说明搞定了。
Windows 上的引号
PowerShell 和 cmd 的引号规则跟 bash 不一样,从面向 Linux 的教程里复制来的命令,往往正是因为这一点而失败。在 PowerShell 里,单引号是字面量——对格式选择器或输出模板来说这是最安全的选择。在 cmd 里用双引号。在 .bat 文件里,每个 % 都要写两遍。
yt-dlp -o '%(title)s.%(ext)s' URL # PowerShell yt-dlp -o "%(title)s.%(ext)s" URL # cmd yt-dlp -o "%%(title)s.%%(ext)s" URL # inside a .bat file
生成器的 shell 切换会为上面每一种情况生成正确的写法,所以你可以直接复制,不用自己改。
更新
独立的 yt-dlp.exe 用 yt-dlp -U 自我更新。如果是用 winget、Scoop 或 Chocolatey 装的,就用同一个工具更新——自我更新会拒绝,因为文件归包管理器所有。