获取上传到保管箱的文件的大小
Get size of a file that is uploaded on dropbox
我想获取上传到 dropbox 的文件的大小。
我试过这个:
@ECHO OFF
color A
for %%A in (https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip) do set Size=%%~zA
echo %Size%
pause
但是没用。
输出必须以字节为单位。
所以我希望批处理文件输出(例如)1024 B
有没有办法获取上传到 dropbox 的文件的大小?
有人吗?
在 Windows 批次中是不可能的。使用 wget
...
的 win32 版本
wget -S --spider --no-check-certificate https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
...或curl
...
curl -I https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
...并解析输出。请注意,这两个命令都执行 HEAD
请求,即它们在服务器上查找文件而不实际下载它。
可能有一种方法可以在 powershell 中执行此操作,但这超出了我的知识范围。
更新1:如何将大小保存到变量?
@ECHO OFF
SET URL=https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
FOR /F "usebackq tokens=*" %%A IN (`wget -S --spider --no-check-certificate %URL% 2^>^&1 ^| FINDSTR "Content-Length: "`) DO (
SET SIZE=%%A
)
ECHO %SIZE:~16%
输出:
142515188
更新 2:有没有办法让它更快?
我不这么认为。我这边大约需要 10 秒钟。如果我在浏览器中打开 URL,我还需要大约 10 秒才能到达实际的下载页面。 Dropbox 似乎有点慢。
旁注,打开 URL 会导致 302
重定向,因此实际上会发送 两个请求 ,这解释了 10 个中的一半秒。
您必须使用 DROPBOX API 和 POST/GET 方法。
您可以使用 VBS 来完成。
我想获取上传到 dropbox 的文件的大小。 我试过这个:
@ECHO OFF
color A
for %%A in (https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip) do set Size=%%~zA
echo %Size%
pause
但是没用。 输出必须以字节为单位。 所以我希望批处理文件输出(例如)1024 B 有没有办法获取上传到 dropbox 的文件的大小? 有人吗?
在 Windows 批次中是不可能的。使用 wget
...
wget -S --spider --no-check-certificate https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
...或curl
...
curl -I https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
...并解析输出。请注意,这两个命令都执行 HEAD
请求,即它们在服务器上查找文件而不实际下载它。
可能有一种方法可以在 powershell 中执行此操作,但这超出了我的知识范围。
更新1:如何将大小保存到变量?
@ECHO OFF
SET URL=https://www.dropbox.com/s/e9q3ssvhitsatbq/Update.zip
FOR /F "usebackq tokens=*" %%A IN (`wget -S --spider --no-check-certificate %URL% 2^>^&1 ^| FINDSTR "Content-Length: "`) DO (
SET SIZE=%%A
)
ECHO %SIZE:~16%
输出:
142515188
更新 2:有没有办法让它更快?
我不这么认为。我这边大约需要 10 秒钟。如果我在浏览器中打开 URL,我还需要大约 10 秒才能到达实际的下载页面。 Dropbox 似乎有点慢。
旁注,打开 URL 会导致 302
重定向,因此实际上会发送 两个请求 ,这解释了 10 个中的一半秒。
您必须使用 DROPBOX API 和 POST/GET 方法。 您可以使用 VBS 来完成。