我目前正在编写一个脚本,其中需要从 Github 下载最新版本的 yt-dlp.exe。由于该脚本需要在多台机器上运行,因此我选择使用 curl 作为下载器。我在其他网站上找到了这个脚本,并根据我需要的程序进行了调整。
for /f "tokens=1,* delims=:" %%A in ('curl -ks https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest ^| find "browser_download_url"') do (curl -kOL %%B)
唯一的问题是,当我只需要一个文件时,它会获取整个最新版本集!有没有更好的方法可以在不使用 powershell 的情况下做到这一点?
谢谢!
答案1
虽然可能有更好的方法来获取最新的yt-dlp版本...
要回答你的问题,你只需要修改脚本来查找yt-dlp.exe。目前,它会获取最新版本的 GitHub API 页面并查找所有包含 的内容browser_download_url
(即带有下载链接的行),您需要将其更改为查找该yt-dlp.exe
行。
尝试:
for /f "tokens=1,* delims=:" %%A in ('curl -ks https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest ^| find "yt-dlp.exe"') do (curl -kOL %%B)
官方记录的方式链接至发布是通过放入releases/latest/download/
您通常拥有的资产链接releases/download/{release version number}/
。
因此,对于您来说,您可以非常简单地从以下位置下载文件:
https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe