在FTP站点的Windows中使用wget或aria2并行下载

时间:2017-02-03 22:03:56

标签: ftp wget aria2

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

我尝试aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/但它没有做任何事情(并且也没有显示任何错误消息)

我在Windows上

1 个答案:

答案 0 :(得分:2)

wget不是多线程的,因此您需要以某种方式拆分包中的URL并多次调用该程序。另一方面,aria2 is not able to recursively download。由于您使用的是Windows,除了cmd以及给定的wgetaria2之外,我无法承担更多有用的内容。

我们可以使用wget下载目录列表,并构建一个文本文件,其中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

...并行下载文件。