wget select 最新更新的目录

Wget select latest updated directory

我想使用 wget 从他们的 ftp 获取最新的 libre office。但是,我无法在 BIG 文档中找到他们提到的可以 select 最新更新的目录。

这是我要访问的 ftp:

 http://ftp.nluug.nl/office/libreoffice/libreoffice/stable/5.0.1/win/x86_64/

然而,在 libreoffice/stable 之后我不想指定这种类型但我希望 wget 自动 select 最新更新的目录。有人知道怎么做吗?

我想,也许我可以这样做:

http://ftp.nluug.nl/office/libreoffice/libreoffice/stable/*/win/x86_64/

但这没有任何意义。我尝试在 Whosebug、google 和 wget 文档上找到它,但我没有找到它。如果你能帮助我,我将不胜感激!

如果您有任何问题,请发表评论:)

INFO: 我是用批处理文件下载的

让我们通过 ftp 协议访问发行版站点,并在调试模式下使用 wget 获取最后一个目录:

DIRECTORY; perms 755; size: 66; month: Jul; day: 30; time: 11:36:00 (no yr); 4.4.5
DIRECTORY; perms 755; size: 66; month: Aug; day: 5; time: 09:59:00 (no yr); 5.0.0
DIRECTORY; perms 755; size: 66; month: Aug; day: 27; time: 14:06:00 (no yr); 5.0.1

假设ftp服务器列表按日期排序,或者未排序,或者主版本低于10,我们可以简单地抓取最后一行而不分析日期:

@echo off
set "BASEURL=ftp://ftp.nluug.nl/pub/office/libreoffice/libreoffice/stable/"
for /f "delims=; tokens=1,7" %%a in (
    'wget --debug %BASEURL% --spider 2^>^&1'
) do if "%%a"=="DIRECTORY" if not "%%b"=="" (
    rem trim spaces
    for /f "tokens=*" %%c in ("%%b") do set lastversion=%%c
)

wget %BASEURL%%lastversion%/win/x86_64/*
pause