1

如何使用 wget2 或 aria 从此处下载所有文件(并行):ftp: //ftp.soilgrids.org/data/recent/

我试过aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/了,但它什么也没做(也没有显示任何错误消息)

我在窗户上

4

1 回答 1

3

wget不是多线程的,因此您需要以某种方式拆分包中的 URL 并多次调用该程序。另一方面,aria2 无法递归下载. 由于您使用的是 Windows,因此除了cmd给定的wgetaria2.

我们可以下载目录列表,wget并构建一个带有 URL 的文本文件,aria2以便并行下载。一个小批处理文件将相应地处理数据:

@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

...并行下载文件。

于 2017-02-06T09:32:12.060 回答