从 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 并多次调用该程序。另一方面,aria2
is 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
...并行下载文件。
如何使用 wget2 或 aria 从此处下载所有文件(并行):ftp://ftp.soilgrids.org/data/recent/
我尝试了 aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/
但它没有做任何事情(也没有显示任何错误消息)
我在windows
wget
不是 multi-threaded,因此您需要以某种方式拆分包中的 URL 并多次调用该程序。另一方面,aria2
is 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
...并行下载文件。