目前我尝试使用:
"wget --user=xxx --password=xxx -r ftp://www.domain.com/htdocs/"
但是这种方式会将输出文件保存到当前目录中:
curdir/www.domain.com/htdocs/*
我需要它变成:
curdir/*
有没有一种方法可以做到这一点,我只看到一种使用输出前缀的方法,但我认为这只会让我定义当前目录外的目录?
如果你想将所有文件保存在一个目录下,可以使用--no-directories
选项,或者使用--no-host-directories
选项来有子目录但没有以主机为前缀的子目录,并搭配--directory-prefix
选项使用。
2.6 目录选项
-nd
或--no-directories
:递归获取时不创建目录层次结构。启用此选项后,所有文件将保存在当前目录中,如果出现重名文件,则文件名会添加扩展名 ".n"。
-nH
或--no-host-directories
:禁用主机前缀目录的生成。默认情况下,使用“-r http://fly.srk.fer.hr/”调用 Wget 将创建以 fly.srk.fer.hr/ 开头的目录结构,此选项禁用此行为。
-P 前缀
或--directory-prefix=前缀
:设置目录前缀为前缀。目录前缀是所有其他文件和子目录将保存的目录,即检索树的顶部。默认值为 "."(当前目录)。(来源于wget 手册。)