![批量下载带组织的图像](https://linux22.com/image/1442487/%E6%89%B9%E9%87%8F%E4%B8%8B%E8%BD%BD%E5%B8%A6%E7%BB%84%E7%BB%87%E7%9A%84%E5%9B%BE%E5%83%8F.png)
我有一个需要下载的 URL 列表(几乎所有图片 URL 都是,尽管有些是 pdf)。我找到了各种批量下载的选项,这些选项都可以使用,但我需要按 URL 中列出的目录对它们进行组织。例如:
samplesite.com/sample1/image1.jpg
samplesite.com/sample1/image2.jpg
samplesite.com/sample1/image3.jpg
samplesite.com/sample2/image1.jpg
samplesite.com/sample2/image2.jpg
samplesite.com/sample2/image3.jpg
我需要像这样组织:
文件夹 Sample1
图片1.jpg
图片2.jpg
图片3.jpg
文件夹 Sample2
图片1.jpg
图片2.jpg
图片3.jpg
我确实有 SFTP 访问权限,但每个目录都组织得很糟糕,图像文件与其他不相关的文件混在一起。此外,我尝试创建的大多数批处理脚本都存在问题。当我这样做时,xCopy
没有办法找出哪些文件失败了,而且当我这样做时,robocopy
速度就会受到影响。关于我应该如何继续前进,有什么建议吗?现有软件是首选,但我对如何编写脚本的建议没有异议。我宁愿不必安装任何东西来通过命令行访问 SFTP,但如果这是唯一的选择,那就只能这样了。
答案1
我认为wget
可以通过一些选项来实现这一点。请尝试wget -input-file=urls.txt --force-directories
来自wget 手册:
--input-file=file
从本地或外部文件读取 URL。如果将 '-' 指定为文件,则从标准输入读取 URL。(使用 './-' 从名为 '-' 的文件中读取。)
和
--force-directories
与 '-nd' 相反 — 创建目录层次结构,即使原本不会创建目录。例如 'wget -xhttp://fly.srk.fer.hr/robots.txt' 将把下载的文件保存到 fly.srk.fer.hr/robots.txt。