Windows 批处理文件请求管理员权限并在 curl 中下载文件失败

Windows batchfile asking for admin rights and download a file in curl fails

我有一个这样的批处理文件

@echo off

::::::::::::::::::::::::::::::::::::::::::::
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges)
:getPrivileges
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo For Each strArg in WScript.Arguments >> "%temp%\getadmin.vbs"
echo If strArg = WScript.Arguments.Item^(0^) Then d = Left^(strArg, InStrRev^(strArg,"\"^) - 1^) >> "%temp%\getadmin.vbs"
echo args = args ^& " " ^& strArg  >> "%temp%\getadmin.vbs"
echo Next >> "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe", ^("/c start /D """ ^& d ^& """ /B" ^& args ^& " ^& exit"^), , "runas", 4 >> "%temp%\getadmin.vbs"
cscript "%temp%\getadmin.vbs" ""%~s0"" %*
del /q "%temp%\getadmin.vbs"
exit /b
:gotPrivileges
:: Your code here

echo "Downloading old version of OrthoSelect..."

curl -o ./6.7.5.zip "https://github.com/ruellm/OrthoSelect_6.7.5/archive/refs/tags/6.7.5.zip"

pause

它要求管理员权限并执行curl下载文件,但不幸的是,即使给了管理员权限,下载的zip文件也只有1Kb,没有正确下载整个zip文件, 控制台 window 也不显示错误。

任何人都可以帮助解决问题吗?

指向 Github 上文件的链接不是直接链接,因此如果您尝试简单地 curl 文件,您最终只会下载重定向页面。如果您使用文本编辑器打开您下载的文件,您将看到

<html><body>You are being <a href="https://codeload.github.com/ruellm/OrthoSelect_6.7.5/zip/refs/tags/6.7.5">redirected</a>.</body></html>

这应该告诉您需要使用 -L 标志来跟随重定向:
curl -L "https://github.com/ruellm/OrthoSelect_6.7.5/archive/refs/tags/6.7.5.zip" -o 6.7.5.zip