Directory Wget将从停止的位置继续下载文件

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的新手,我想知道是否有办法从我停止下载的地方继续下载文件? 例如: 我正在从一个网站下载大量文件,该网站包含以下文件: 1.pdf 2.pdf 3.pdf 4.pdf

由于某种原因,当wget下载了1,2个文件时,我停止了下载,我将这些下载的文件移动到了另一个我现在无法访问的存储中。那么,我可以运行一个命令来排除我已经下载的前两个文件,然后从第三个文件开始,依此类推吗

我已在使用此命令:

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页面