wget 不排除嵌套目录

wget 不排除嵌套目录

我见过但它不起作用。 Remote/ftp目录结构是这样的:

domain.com/
  toplevel/
    foo1/
      ARCHIVE/
        README.stuff
        DATA/
          README.txt
          ...other nested folders
      wantedstuff.zip
      wantedstuff2/
        morewantedstuff.zip
        ...otherstuffwanted

我想要其中的所有内容,除了/toplevel.txt/ARCHIVE中每个嵌套文件夹的文件夹内的所有内容/toplevel/*

我试过这个:

wget --continue -r --exclude-directories=/ARCHIVE/ ftp://domain.com/toplevel/

还有这些:

wget --continue -r --exclude-directories=ARCHIVE ftp://domain.com/toplevel/
wget --continue -r --exclude-directories=ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r X /ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE/*' ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE' ftp://domain.com/toplevel/
wget --continue -r --reject-regex '.*/ARCHIVE/.*' ftp://domain.com/toplevel/

但似乎都不起作用,它仍然下载 ARCHIVE 文件夹。想知道如何阻止它下载。

答案1

您必须包含 toplevel/foo.看到前面的例子解决方案应该是:

wget --continue -r --exclude-directories=/toplevel/foo/ARCHIVE/ ftp://domain.com/toplevel/

出于某种原因我更喜欢:

wget --continue  -X /toplevel/foo/ARCHIVE/ -r ftp://domain.com/toplevel/

要排除前两个顶级中的所有 ARCHIVE 目录,请执行以下操作:

wget --continue  -X */*/ARCHIVE/ -r ftp://domain.com/toplevel/

但这是个人喜好。

相关内容