'wget --continue' 无法与 '--no-clobber' 一起使用

'wget --continue' 无法与 '--no-clobber' 一起使用

我在 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 都会下载远程文件,无论时间戳如何。

相关内容