从 FTP 站点的 windows 中使用 wget 或 aria2 并行下载

Downloading in parallel using wget or aria2 in windows from FTP site

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

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

我在windows

wget 不是 multi-threaded,因此您需要以某种方式拆分包中的 URL 并多次调用该程序。另一方面,aria2is not able to recursively download。既然你在 Windows,除了 cmd 和给定的 wgetaria2,我不能假设有什么用处。

我们可以使用 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

...并行下载文件。