我在 Windows 7 下工作,我想使用 wget 通过 HTTPS 从 Windows 服务器目录下载所有新文件。此外,如果在传输过程中连接断开,我想恢复大文件的下载。
当我跑步时
wget.exe --continue --recursive https://<host>:<port>/<some path>/pdf.dll
一切正常。
但使用
wget.exe --continue --no-clobber --recursive https://<host>:<port>/<some path>/pdf.dll
连接丢失后,下载不会恢复,但不完整的文件仍保留在我的本地文件系统上。 wget 的消息为:
文件“//pdf.dll”已存在;无法检索。
(我们希望使用该--no-clobber
选项以避免向所有已传输的文件发送 HEAD 请求。)
这是否意味着--continue
不能很好地与之协同工作--no-clobber
?
答案1
这是因为您结合了两个选项(--no-clobber
和 --continue
):
--continue
:继续获取部分下载的文件--no-clobber
:这将破坏/覆盖先前下载的文件,然后重新开始下载
如您所见,这两个选项要求 Wget 执行完全相反的任务,因此它不知道最后该做什么。不要将它们组合在一起。您可以阅读下载选项详细地。
答案2
非常迟到了,但我刚刚遇到这个问题并有一个解决方案:
如果将 Timestamp 标志与/标志-N
结合使用,则在恢复时,未完成文件的文件大小将与远程文件不同,并且文件将按预期继续下载。它也不会重新下载已完成的文件。-c
--continue
从https://www.gnu.org/software/wget/manual/wget.html#Time_002dStamping
如果本地文件不存在,或者文件大小不匹配,Wget 都会下载远程文件,无论时间戳如何。