中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 13:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么用for生成N个不同随机数 查看 896 回复 7
楼 主 怎么用for生成N个不同随机数 发表于 2007-08-13 16:52 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
for /l我试了一下生成全是相同随机数

前边要加什么代码,这是变量延迟问题吗
2 发表于 2007-08-13 19:06 ·  中国 广西 来宾 电信
初级用户
积分 85
发帖 39
注册 2007-06-28 22:22
19年会员
UID 92624
性别 男
状态 离线
无需for,每次的随机数都是不同的,要不怎么叫随机呢
3 发表于 2007-08-13 21:32 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
4 发表于 2007-08-13 22:52 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
楼上的代码显示20个!random!字符

第二句命令好像不起作用...........
5 发表于 2007-08-13 23:13 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off
setlocal EnableDelayedExpansion
for /l %%i in (0,1,5) do echo !random!
pause


少个% setlocal EnableDelayedExpansion 后面S不要

[ Last edited by terse on 2007-8-13 at 11:16 PM ]
6 发表于 2007-08-13 23:19 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
上边这个代码测试成功

好像不是%%i的问题
两位的第二句命令setlocal命令参数不相同,我想问题应该在这里

两个参数都是什么作用的

在系统里查看过setlocal /?,里边的介绍太抽象了:lol:
7 发表于 2007-08-14 01:09 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
不起用 setlocal:
@echo off
for /l %%i in (1 1 20) do call echo %%RANDOM%%
pause
8 发表于 2007-08-14 08:51 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
论坛跳转: