37

我不能wget,虽然已经没有路径可以保存了。我的意思是,wget不适用于不存在的保存路径。例如:

wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg

如果/path/to/image/以前不存在,它总是返回:

No such file or directory

我怎样才能让它自动创建路径并保存?

4

6 回答 6

70

尝试curl

curl http://www.site.org/image.jpg --create-dirs -o /path/to/save/images.jpg
于 2012-06-29T08:19:20.173 回答
7
mkdir -p /path/i/want && wget -O /path/i/want/image.jpg http://www.com/image.jpg
于 2012-06-29T08:14:54.827 回答
3

要使用 wget 将文件下载到新目录--directory-prefix ,请使用以下命令-O

wget --directory-prefix=/new/directory/ http://www.example.com/old_image.jpg

与,-O new_file一起使用不会创建新的目录结构,而是将新文件保存在当前目录中。如果您指定,它甚至可能会因“没有这样的文件或目录”错误而失败--directory-prefix-O /new/directory/new_file

于 2020-05-20T21:10:34.710 回答
2

如果文件夹不存在,我可以使用以下命令创建文件夹:
wget -N http://www.example.com/old_image.jpg -P /path/to/image

于 2020-06-15T00:52:44.117 回答
1

wget 只是获取一个文件,而不是为您创建目录结构(mkdir -p /path/to/image/),您必须自己执行此操作:

mkdir -p /path/to/image/ && wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg

您可以使用参数告诉 wget 创建目录(因此您不必使用 mkdir)--force-directories

总而言之,这将是

wget --force-directories -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
于 2012-06-29T08:29:38.173 回答
0

经过一番搜索,我终于找到了一种用于wget下载不存在路径的方法。

wget -q --show-progress -c -nc -r -nH -i "$1"

=====
Clarification

-q
--quiet --show-progress
  Kill annoying output but keep the progress-bar

-c
--continue
  Resume download if the connection lost

-nc
--no-clobber
  Overwriting file if exists

-r
--recursive
  Download in recursive mode (What topic creator asked for!)

-nH
--no-host-directories
  Tell wget do not use the domain as a directory (for e.g: https://example.com/what/you/need
   - without this option, it will download to "example.com/what/you/need")

-i
--input-file
  File with URLs need to be download (in case you want to download a lot of URLs,
   otherwise just remove this option)

快乐的工作!

于 2018-08-15T00:07:59.703 回答