中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 15:27
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]关于random 查看 764 回复 4
楼 主 [求助]关于random 发表于 2008-05-21 18:11 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
在一个批处理中,开启变量延迟的情况下random扩展出两次相同结果的几率有多少~?
在批处理之家看到这样一题,新建一百个名字中不含5的文件夹
for /l %%a in (1 1 100) do call md %%random:5=%%

这样一条语句,难道能确保random绝对不会有两次相同的值吗?~
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2 发表于 2008-05-21 18:14 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
for /l %%a in (1 1 100) do call md %%random:5=%%
我认为不行,绝对有重复情况出现
批处理之家新域名:www.bathome.net
3 发表于 2008-05-21 18:18 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
所以此答案绝不是正解。
51234 12345 15234 12543 12534 。。。。。。
太多了,结果都是重复的。
致精致简!
4 发表于 2008-05-21 18:23 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
再次试验了一下。。
setlocal enabledelayedexpansion
for /l %%a in (1 1 100) do md !random:5=!

试验10次,没有重复结果。。


for /l %%a in (1 1 100) do call md %%random:5=%%
这条语句。。。每次都有一两次的重复结果~

请教下,这个问题能说明什么~?
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
5 发表于 2008-05-21 20:25 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
如果不加入判断获取,绝对有重复情况出现




PS:以前讨论过每次连续运行BAT时random会出现小步幅递增的问题,试了一下:
@echo off
echo %random%
pause

改为如下后这种情况就会大大减轻
@echo off
rem %random%
echo %random%
pause
论坛跳转: