跳至內容
yt-dlp

在 Windows 上安裝 yt-dlp

用 winget、Scoop 或直接下載在 Windows 安裝 yt-dlp 與 ffmpeg,並解決之後出現的 PATH 錯誤。

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.exeyt-dlp -U 自我更新。如果是用 winget、Scoop 或 Chocolatey 裝的,就用同一個工具更新——自我更新會拒絕,因為檔案歸套件管理員所有。

常見問題

Windows 說找不到 yt-dlp,為什麼?
執行檔不在 PATH 裡,或者終端機是在安裝之前就開好的。先開一個新的終端機;如果還不行,就用 winget 或 Scoop 安裝,它們會替你處理 PATH。
Windows 上 yt-dlp 找不到 ffmpeg。
用 winget install Gyan.FFmpeg 安裝,開一個新終端機,再用 ffmpeg -version 檢查。把 ffmpeg.exe 放在 yt-dlp.exe 同一個資料夾裡也可以。