You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用curl和批处理文件仅下载GitHub上yt-dlp的最新版yt-dlp.exe

如何用curl和批处理文件仅下载GitHub上yt-dlp的最新版yt-dlp.exe

嘿,我来帮你搞定这个问题!你现在的脚本会把最新发布里所有带browser_download_url的文件都拉下来,这是因为GitHub API返回的最新release数据里包含了好几个下载链接(比如源码压缩包、其他平台的版本),咱们只要加个过滤条件,就能只拿到yt-dlp.exe的链接啦。

给你两个可行的批处理脚本方案,选哪个都行:

方案一:用延迟变量处理引号

@echo off
setlocal enabledelayedexpansion

:: 筛选出仅包含yt-dlp.exe的下载链接并下载
for /f "tokens=2 delims=:, " %%A in ('curl -ks https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest ^| findstr "browser_download_url.*yt-dlp.exe"') do (
    :: 去掉链接前后的双引号
    set "dl_url=%%A"
    set "dl_url=!dl_url:"=!"
    :: 执行下载
    curl -kOL "!dl_url!"
    :: 找到链接就退出循环,避免重复操作
    goto :finish
)

:finish
endlocal
echo yt-dlp.exe 最新版下载完成!

方案二:嵌套for循环直接提取干净链接

这个版本不用延迟变量,用两层for循环来处理引号,更简洁:

@echo off

for /f "tokens=1,* delims=:" %%A in ('curl -ks https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest ^| findstr "browser_download_url.*yt-dlp.exe"') do (
    :: 用双引号作为分隔符,提取中间的URL
    for /f tokens^=2^ delims^=^" %%B in ("%%B") do (
        curl -kOL "%%B"
    )
)
echo 下载完成!

关键说明:

  • findstr "browser_download_url.*yt-dlp.exe" 这一步是核心!它会从API返回的内容里,只保留包含yt-dlp.exe的下载链接行,彻底避免下载其他无关文件。
  • 脚本里的-k参数是用来忽略SSL证书验证的,如果你的网络环境不需要这个,可以直接去掉,让下载更安全。
  • Windows 10及以上系统默认已经自带curl了,老版本Windows可能需要单独安装curl才能运行这个脚本。

备注:内容来源于stack exchange,提问作者Flaver-D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:03:13