中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-23 18:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决] 产生全系列硬盘序列号 查看 1,160 回复 7
楼 主 [已解决] 产生全系列硬盘序列号 发表于 2008-07-08 13:42 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
现在想编个批处理,要求生成 0000-0000 至 FFFF-FFFF。
但在生成的过程中,每生成一个就要暂停,请问如何编写?

产生的个数是否8的8次方=16777216个?

如果将此个数分成十六份,让十六每台电脑分摊运行,批处理该如何写呢?

[ Last edited by chishingchan on 2008-7-18 at 10:17 AM ]
2 发表于 2008-07-08 21:39 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
8的8次方这个数是错的。
应该是FFFFFFFF的十进制数:4294967295个数。

产生的效果如下:

0000-0000
请按任意键继续. . .
0000-0001
请按任意键继续. . .
0000-0002
请按任意键继续. . .
.
.
0000-0009
请按任意键继续. . .
0000-000A
请按任意键继续. . .
.
.
0000-000F
请按任意键继续. . .
0000-0010
请按任意键继续. . .
.
.
.
FFFF-FFFF
请按任意键继续. . .

[ Last edited by chishingchan on 2008-7-8 at 09:42 PM ]
3 发表于 2008-07-08 22:55 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
很简单……
@echo off
set list%=0 1 2 3 4 5 6 7 8 9 A B C D E F

for %%a in (%list%) do (
for %%b in (%list%) do (
for %%c in (%list%) do (
for %%d in (%list%) do (
for %%e in (%list%) do (
for %%f in (%list%) do (
for %%g in (%list%) do (
for %%h in (%list%) do (
echo.%%a%%b%%c%%d-%%e%%f%%g%%h&pause
)
)
)
)
)
)
)
)
)


[ Last edited by lxmxn on 2008-7-8 at 11:01 PM ]
4 发表于 2008-07-09 22:34 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
谢谢!正解。
不明白的地方:list%=

因为序列号太多,所以想分开若干台电脑运行,每台运行不同的部分,请问如何修改呢?

[ Last edited by chishingchan on 2008-7-9 at 10:36 PM ]
5 发表于 2008-07-09 22:45 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
这个要看你分成几台电脑运行了,可以将最外层的循环拆分成8个或者十六个,分别给8或者16台机器运行,每台只负责后面的7位。
6 发表于 2008-07-14 13:27 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
Originally posted by lxmxn at 2008-7-9 10:45 PM:
这个要看你分成几台电脑运行了,可以将最外层的循环拆分成8个或者十六个,分别给8或者16台机器运行,每台只负责后面的7位。


请教版主具体代码如何?
7 发表于 2008-07-14 13:50 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
Originally posted by chishingchan at 2008-7-14 13:27:


请教版主具体代码如何?

比如将任务分成16份,A主机负责处理Axxx-xxxx,那么代码就是:
@echo off
set list%=0 1 2 3 4 5 6 7 8 9 A B C D E F

for %%b in (%list%) do (
for %%c in (%list%) do (
for %%d in (%list%) do (
for %%e in (%list%) do (
for %%f in (%list%) do (
for %%g in (%list%) do (
for %%h in (%list%) do (
echo.A%%b%%c%%d-%%e%%f%%g%%h&pause
)
)
)
)
)
)
)
)
8 发表于 2008-07-18 10:17 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
谢谢!
论坛跳转: