. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』 » 专题:命令正则

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
k12345
 
k12345 的头像
超级会员
 
资 料:
注册日期: Sep 2001
帖子: 1,836 声望值: 3
精华: 4,解答: 5
#1 旧 2009-11-04, 20:19:47 默认 已解答: 【求助】图片批量下载的问题
k12345 当前离线  

有类似一下形式的图片需批量下载,URL中有两个变量,curl支持[]形式的变量,但是用两个[]来遍历的话会产生很多垃圾,利用率太低。请问有什么更好的方法能解决么?用命令行的for配合curl是否能搞定,请高人出手。

注意到红色和蓝色部分的差值是不变的。




这个是我自己按上面的思路写的,用不了,请指正。
代码:
@Echo off

for /l %%a in (1001,1,1020) do (
    set name=%%a
    set name=!name:~1,3!
    set dest=%name%+25341
    curl -O http://www.deskcity.com/picture/image_url/%dest%/time%name%.jpg
)


当人生过得不如意的时候,可以掏出小弟弟,凝视他,静思他所蕴涵之精神——能长能短,能粗能细,能伸能曲,能软能硬,眼前的困难算个鸟。
最佳解答为:zeroxia
代码:
@echo off
setlocal EnableExtensions EnableDelayedExpansion

for /L %%a in (1001,1,1020) do (
    set name=%%a
    set /A dest=!name!+25341-1000
    set name=!name:~1,3!
    REM 修改这里
    echo http://www.deskcity.com/picture/image_url/!dest!/time!name!.jpg
)

endlocal
供参考。
对于多次要修改的变量,用 !varaible! 的形式,并且之前要声明(SetLocal EnableDelayedExpansion)。
set 加上 /A 参数以后才能做算术运算。
zeroxia
 
zeroxia 的头像
核心会员
 
资 料:
注册日期: Jun 2009
帖子: 2,839 声望值: 3
精华: 0,解答: 37
#2 旧 2009-11-04, 20:35:25 默认
zeroxia 当前离线  

代码:
@echo off
setlocal EnableExtensions EnableDelayedExpansion

for /L %%a in (1001,1,1020) do (
    set name=%%a
    set /A dest=!name!+25341-1000
    set name=!name:~1,3!
    REM 修改这里
    echo http://www.deskcity.com/picture/image_url/!dest!/time!name!.jpg
)

endlocal
供参考。
对于多次要修改的变量,用 !varaible! 的形式,并且之前要声明(SetLocal EnableDelayedExpansion)。
set 加上 /A 参数以后才能做算术运算。

此帖于 2009-11-04 20:41:24 被 zeroxia 编辑. .


The world is beautiful for Cece.
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 10:47:06.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号