Directory Wget将从停止的位置继续下载文件
我是Wget的新手,我想知道是否有办法从我停止下载的地方继续下载文件? 例如: 我正在从一个网站下载大量文件,该网站包含以下文件: 1.pdf 2.pdf 3.pdf 4.pdf 由于某种原因,当wget下载了1,2个文件时,我停止了下载,我将这些下载的文件移动到了另一个我现在无法访问的存储中。那么,我可以运行一个命令来排除我已经下载的前两个文件,然后从第三个文件开始,依此类推吗 我已在使用此命令:Directory Wget将从停止的位置继续下载文件,directory,download,wget,resume,mirror,Directory,Download,Wget,Resume,Mirror,我是Wget的新手,我想知道是否有办法从我停止下载的地方继续下载文件? 例如: 我正在从一个网站下载大量文件,该网站包含以下文件: 1.pdf 2.pdf 3.pdf 4.pdf 由于某种原因,当wget下载了1,2个文件时,我停止了下载,我将这些下载的文件移动到了另一个我现在无法访问的存储中。那么,我可以运行一个命令来排除我已经下载的前两个文件,然后从第三个文件开始,依此类推吗 我已在使用此命令: wget -m -np -c -U "MyDir" -R "index.html*" "TheU
wget -m -np -c -U "MyDir" -R "index.html*" "TheURL"
很抱歉我用愚蠢的方式解释了我的问题,并感谢您提前回复。您已经在使用
-R
选项来拒绝具有特定模式的文件名(您可以说-R“index.html*”
来拒绝任何以index.html
开头的文件名),因此您可以简单地将更多文件名添加到拒绝列表中,也就是说,如果您知道您已经将1.pdf
和2.pdf
保存到另一台计算机,并且您不关心其他目录中具有相同名称的文件,请使用-R“index.html*,1.pdf,2.pdf”
。(我不太明白您为什么拒绝index.html*
,因为这可能会导致某些文件列表未被扫描。)
对于更复杂的情况(或者如果您不想编写一个非常长的-R
参数),在运行wget之前使用触摸创建空文件,然后删除空文件可能会更容易。这是因为您使用的是wget-m
,它(至少在2001年以后的wget版本中)打开了-N
(时间戳检查)-只要服务器支持时间戳(大多数都支持),wget只会在文件比现有文件的时间戳新时告诉服务器它想要该文件,即“比现在新”如果你刚才把一个空文件放在那里。但是,空文件必须正确命名并位于正确的目录中
您可能想做的另一个调整是将-m
替换为-r-nc-l inf
(因为通常-m
表示-r-N-l inf
,我建议将-N
替换为-nc
)。尽管-N
检查时间戳,-nc
避免下载任何已经存在的文件,而不管时间戳如何(因此即使服务器不支持时间戳,它也可以工作),但更重要的是,-nc
会导致扫描已下载的文件以查找链接,而-N
则不然。如果您需要缓慢镜像大型服务器,这与-w
(--等待
)结合使用非常有用,因为如果您必须在完成之前重新启动计算机或其他东西,然后,您可以从停止镜像的位置继续镜像,并且wget
仍然会考虑来自上次获取的文件的任何链接
另一方面,-N
如果您以前的下载已经完成,并且您只需要检查更新,则更好,尽管使用-N
进行镜像仍然依赖于从具有更新时间戳的页面链接的任何更新文件(如果该页面是通过链接访问的,而不是直接从您提供的URL访问的,则至少有一个链接页面还必须具有更新的时间戳,以便其更新得到注意,依此类推)-目前似乎没有办法告诉wget解析被-N
跳过的HTML页面,因为它可以解析被-nc
跳过的HTML页面