当前位置: 代码迷 >> 综合 >> wget 批量下载并且按序号重命名 windows版
  详细解决方案

wget 批量下载并且按序号重命名 windows版

热度:59   发布时间:2024-01-04 06:27:09.0
@echo off
setlocal enabledelayedexpansion
set /a num=0
FOR /F %%i in (URL.txt) do (set /a num+=1title !num!wget -c -q %%i -O !num!.jpg
)

各条命令按行解释

  1. 关闭显示
  2. 启用变量延迟,不然循环里获取不到上一次设置的值
  3. num=0
  4. FOR循环,批处理里变量必须用%%作为前缀
  5. 自增
  6. 设置标题,用语监控进度
  7. -c 断点续传 -q 安静模式 %%i URL.txt里的路径 -O 另存为 !num!.jpg 延迟变量必须使用!var!格式

这段脚本主要用户批量下载新浪微博相册,之前写了个油猴子脚本批量采集用户相册地址。

补充另外一个方法:

借助excel,A列每个URL一行,B列填充下面公式

=CONCATENATE(RIGHT(CONCATENATE("00000",ROW()),5),RIGHT(A1,5))

红色部分为取A1的最后几位字符,也可以自行修改后缀名,如'.htm'

然后填充每行,小技巧:按住alt键,鼠标放到B1单元格右下角,变成“┼”时,双击,即可填充每一行了

处理完全选,复制,保存到txt文件里,然后用wget下载

批处理版:

  1. @echo off
  2. for /f "tokens=1-2" %%i in (url.txt) do (
  3.     wget "%%i" -O "%%j"
  4. )

命令行版:

for /f "tokens=1-2" %i in (url.txt) do @wget -nv -c %i -O "%j"

参考文献:

  1. 【Linux入门系列】wget 使用探索 
  2. 批处理for语句从入门到精通
  3. DOS:变量延迟详解(新手推荐)
  4. DOS中SET命令的详细用法
  相关解决方案