中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 14:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何生成一个升序的批量下载列表(解决) 查看 757 回复 9
楼 主 如何生成一个升序的批量下载列表(解决) 发表于 2007-11-26 20:44 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
如下:
copy \\server\001.pic d:\
copy \\server\002.pic d:\
.
............ 888......
.
n
n可以自己指定
---------------------------------------------------------------------------------------------------------------------


楼下的代码测试后只有当n小于10时才行,如果n是10变成0010.pic

n是999时,变成00999.pic

有无变法改进,让n的位数固定,当然,能限定n的倍数就更好了

[ Last edited by su2353 on 2007-11-27 at 04:36 PM ]
2 发表于 2007-11-26 21:03 ·  中国 北京 利达宽带
中级用户
★★
积分 273
发帖 91
注册 2007-05-07 18:12
19年会员
UID 87770
性别 男
状态 离线
for /l %%i in (1,1,n) do (
set j=00%%i
echo copy \\server\00%j:~-3%.pic d:\ >> list.txt
)
参照3楼的修改了一下*_*

[ Last edited by sonicandy on 2007-11-26 at 09:20 PM ]
3 发表于 2007-11-26 21:06 ·  中国 广东 广州 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
for /l %i in (1,1,n) do (
set val=00%i
call echo copy \\server\%val:~-3%.pic D:\
)
4 发表于 2007-11-26 21:15 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
那怎么自己指定N呢
5 发表于 2007-11-26 21:18 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
还有,如果想生成的升序的数字位数是是这样的:
1的是时候是一位,10的时候是两位
数字前面没有0,该是几位就是几位
6 发表于 2007-11-26 21:20 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
先谢谢二楼,三楼的朋友,基本是问题是解决了

再请看看5楼,那样升序应该怎样升呢
7 发表于 2007-11-26 21:24 ·  中国 北京 利达宽带
中级用户
★★
积分 273
发帖 91
注册 2007-05-07 18:12
19年会员
UID 87770
性别 男
状态 离线
那怎么自己指定N呢

n随便取个数就可以了,比如100.

还有,如果想生成的升序的数字位数是是这样的:
1的是时候是一位,10的时候是两位
数字前面没有0,该是几位就是几位

那就更简单了:
for /l %%i in (1,1,100) do echo copy \\server\%%i.pic d:\ >> list.txt
8 发表于 2007-11-26 21:29 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
Originally posted by sonicandy at 2007-11-26 21:24:
那怎么自己指定N呢

n随便取个数就可以了,比如100.

还有,如果想生成的升序的数字位数是是这样的:
1的是时候是一位,10的时候是两位
数字前面没有 ...


学习了
谢谢你的热情帮助
9 发表于 2007-11-27 15:55 ·  中国 福建 泉州 电信
初级用户
★★
积分 152
发帖 63
注册 2005-08-18 22:46
20年会员
UID 41772
状态 离线
未解决,帮帮忙
10 发表于 2007-11-27 16:06 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by su2353 at 2007-11-27 15:55:
未解决,帮帮忙

改改第 3 楼的:

◎echo off
setlocal EnableDelayedExpansion
for /l %%i in (1,1,100) do (
set val=00%%i
echo copy \\server\!val:~-3!.pic D:\
)


[ Last edited by zh159 on 2007-11-27 at 04:10 PM ]
论坛跳转: