有没有办法下载最新的GitHub发布w/批处理脚本?



所以,我试图使用Windows批处理脚本从GitHub下载最新版本。我可以通过运行curl -s https://api.github.com/repos/ActualMandM/cemu_graphic_packs/releases/latest获得一长串url,但我不知道如何将它输出的"browser_download_url": "https://github.com/ActualMandM/cemu_graphic_packs/releases/download/Github828/graphicPacks828.zip"传递给curl。我在网上查了一下,但我找到的都是PowerShell,而且大多数都是wget。

如果您真的想为此使用批处理,则必须在输出JSON中搜索要查找的值,然后处理该字符串。如果JSON全部出现在一行中,则需要采用不同的方法,但您很幸运。

for /f "tokens=1,* delims=:" %%A in ('curl -ks https://api.github.com/repos/ActualMandM/cemu_graphic_packs/releases/latest ^| find "browser_download_url"') do (
curl -kOL %%B
)

我添加了-k标志,因为我的计算机出于某种原因需要它(所以其他人可能也需要)。

-O将输出文件的名称设置为远程输出文件名

-L遵循重定向,这是从Github下载所需的。

你访问的Github API url返回JSON,所以你需要一个JSON解析器。
我强烈推荐xidel。xidel可以打开和下载url,所以你不需要curl或批处理脚本。

查询"browser_download_url"-attribute:

xidel.exe -s "https://api.github.com/repos/ActualMandM/cemu_graphic_packs/releases/latest" -e "$json//browser_download_url"
https://github.com/ActualMandM/cemu_graphic_packs/releases/download/Github874/graphicPacks874.zip

(或全部-e "$json/(assets)()/browser_download_url")

下载'graphicPacks874.zip'到当前目录:

xidel.exe ^
-s "https://api.github.com/repos/ActualMandM/cemu_graphic_packs/releases/latest" ^
-f "$json//browser_download_url" ^
--download "{substring-after($headers[starts-with(.,'Content-Disposition')],'filename=')}"

对于r8389或更新版本(因为这个提交),您可以直接使用--download .

相关内容

  • 没有找到相关文章

最新更新