【发布时间】:2017-02-03 22:03:55
【问题描述】:
如何使用 wget2 或 aria 从此处下载所有文件(并行):ftp://ftp.soilgrids.org/data/recent/
我试过aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/,但它什么也没做(也没有显示任何错误消息)
我在窗户上
【问题讨论】:
如何使用 wget2 或 aria 从此处下载所有文件(并行):ftp://ftp.soilgrids.org/data/recent/
我试过aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/,但它什么也没做(也没有显示任何错误消息)
我在窗户上
【问题讨论】:
wget 不是多线程的,因此您需要以某种方式拆分包中的 URL 并多次调用程序。另一方面,aria2is not able to recursively download。由于您使用的是 Windows,因此除了 cmd 和给定的 wget 和 aria2 之外,我不能假设有什么用处。
我们可以使用wget 下载目录列表,并使用aria2 的URL 构建一个文本文件以并行下载。一个小批处理文件会相应地处理数据:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET host=ftp://ftp.soilgrids.org/data/recent
DEL urls.txt
REM fetch dirlisting from ftp
wget --no-remove-listing !host!/
FOR /F "tokens=1,9" %%G IN (.listing) DO (
SET "modeflags=%%G"
REM skip directories
IF "x!modeflags:d=!"=="x!modeflags!" (
ECHO !host!/%%H >> urls.txt
)
)
REM cleanup
DEL .listing.*
DEL index.html.*
那么,你就可以……
aria2c -j8 -i urls.txt
...并行下载文件。
【讨论】: