中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 21:21
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如果列举出由随机数字加随机字母组成的4位组合
可打印版本  1,010 / 14
第1楼 flybird2020 发表于 2007-09-20 20:21
初级用户 发帖 52 积分 103
[求助]如果列举出由随机数字加随机字母组成的4位组合
一个任意数,由两个数字加两个字母组成
如2r3p
i4e5
q56i
这样的组合如何列举?并保存到一个TXT中做变量
在BBS上搜索了随机关键字
无解。。。
谢谢大大们了
第2楼 Nickey 发表于 2007-09-20 20:39
初级用户 发帖 59 积分 132 来自 GuangZhou
@echo off
setlocal enabledelayedexpansion
set str1=abcdefghijklmnopqrstuvwxyz
set str2=0123456789
set /a char1=%random%%%26
set /a num2=%random%%%10
set /a char2=%random%%%26
set /a num2=%random%%%10
echo !str2:~%num1%,1!!str1:~%char1%,1!!str2:~%num2%,1!!str1:~%char2%,1!
pause
第3楼 flybird2020 发表于 2007-09-20 21:12
初级用户 发帖 52 积分 103
Originally posted by Nickey at 2007-9-20 08:39 PM:
@echo off
setlocal enabledelayedexpansion
set str1=abcdefghijklmnopqrstuvwxyz
set str2=0123456789
set /a char1=%random%%%26
set /a num2=%random%%%10
set /a char2=%random%%%26
set /a num2=%ra ...

谢谢大大
假如我想列举可能所有的随机数值到1.TXT的话怎么写呢。。。
第4楼 flybird2020 发表于 2007-09-20 21:14
初级用户 发帖 52 积分 103
可以了,谢谢大大~
第5楼 dosmania 发表于 2007-09-21 03:39
初级用户 发帖 54 积分 172
楼主,你标题是”如何列举出由随机数字加随机字母组成的4位组合“
但是根据你的描述,你是要两个随机数字+两个随机字母(小写),然后再将这四个字符进行随机组合?!是不是这样先?
首先,字母大小写没多大关系的
然后,2楼给的的解决方法不太准确,他怎么就知道获取出来的两个数字和两个字母要怎么组合啊,那是根据他个人主观想法,排列为:
数字+字母+数字+字母
最后,根据你的要求,我给出相应的解决方案:

以下代码没有考虑随机取到的字母或者数字是否重复,其实取到重复是正常的。



如果不想获取的随机字母和数字有重复现象,则修改一下前面部分的代码即可。



[ Last edited by dosmania on 2007-9-21 at 04:09 AM ]
第6楼 wudixin96 发表于 2007-09-21 08:46
银牌会员 发帖 931 积分 1,928
5楼说的不错,如果给2楼都能加6分,那么偶给你加9分,o(∩_∩)o...哈哈
第7楼 flybird2020 发表于 2007-09-21 08:51
初级用户 发帖 52 积分 103
谢谢各位大大,收藏代码ING
第8楼 yovie 发表于 2007-09-21 09:38
初级用户 发帖 42 积分 92 来自 重庆市巫山县
原先写过一个大小写字母+数字的生成11位以内的随机组合,你这个和那个同理。


[ Last edited by yovie on 2007-9-21 at 09:41 AM ]
第9楼 dosmania 发表于 2007-09-21 14:30
初级用户 发帖 54 积分 172
TO wudixin96:

多谢鼓励,楼主给的分是少了点,没什么诚意啊,哈哈``开玩笑``

To 8 楼:

8 楼的代码跟楼主要求的根本两回事...
而且跟我的方法也不尽相同
”大小写字母+数字的生成11位以内的随机组合“ 这个生成的随机字符个数是无法控制的,当然最多是11个。总之随便看下都知道跟楼主要求的有很大差别。

[ Last edited by dosmania on 2007-9-21 at 02:31 PM ]
第10楼 wudixin96 发表于 2007-09-21 14:35
银牌会员 发帖 931 积分 1,928


第11楼 npgmis 发表于 2007-09-21 15:15
初级用户 发帖 17 积分 32
看来这有太多的高手,加紧学习中。。。
第12楼 digger 发表于 2007-09-21 23:37
初级用户 发帖 29 积分 79 来自 湖南
我也来一段代码凑热闹:
第13楼 dosmania 发表于 2007-09-22 00:01
初级用户 发帖 54 积分 172
强啊~~~
不足之处是没有排除重复现象`和效率应该没我那个高,你用了好多For
digger,有兴趣研究一下猜数字游戏的贴子
http://www.cn-dos.net/forum/viewthread.php?tid=33747&fpage=1
猜数字贴比较有吸引力啊``
这个贴子就告一段落吖``

[ Last edited by dosmania on 2007-9-22 at 12:03 AM ]
第14楼 digger 发表于 2007-09-22 00:47
初级用户 发帖 29 积分 79 来自 湖南
效率的高低,并不在于for的多少。
如果你的运气不好,连续N次取到的rnd值都是同一个数字的时候,势必会一直执行 goto loop 语句;如果你真的中了大奖,呵呵,传说中的死循环就出现了。
一直以来,教我的数学老师都不是美女,不玩数字游戏也罢。
第15楼 dosmania 发表于 2007-09-22 03:12
初级用户 发帖 54 积分 172
我运气一向很好,就算我运气不好,也不关我事,代码是写给楼主用的,你去问问楼主运气好不好吖``
哈哈,这个死 digger,这番话我看着怎么就这么耳熟啊,别跟我说你不是飞扬,哈哈
看着那些算法也像我上次在群里问你的那些,被我揭穿了,快加分我!!!!

[ Last edited by dosmania on 2007-9-22 at 03:13 AM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023