中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 18:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]谁能帮我做个随机预测彩票号码的批处理? 查看 964 回复 7
楼 主 [求助]谁能帮我做个随机预测彩票号码的批处理? 发表于 2010-03-05 21:08 ·  日本 Softbank
初级用户
★★
积分 64
发帖 57
注册 2010-02-25 19:56
16年会员
UID 161189
性别 男
状态 离线
谁能帮我做个用bat随机预测彩票的文件?

要求四种类类型。


第一种 随机 0~9 的数字 要求随机显示三位数字

第二种 随机 0~9 数字 要求随机显示四位数字

第三种 随机 1~31 数字 要求随机显示五位数字

第四种 随机1~43 数字 要求随机显示六位数字

要求有个菜单
选择1就出现3位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择2就出现4位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择3就出现5位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择4就出现6位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择5就出现1到4的全部数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择0退出。

[ Last edited by gcdj on 2010-3-5 at 21:18 ]
2 发表于 2010-03-05 21:27 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
使用set /p和if 制作菜单,使用set /a%和RANDOM%求余组合随机数字
3 发表于 2010-03-05 22:51 ·  中国 上海 杨浦区 电信
初级用户
积分 49
发帖 42
注册 2009-11-26 04:39
16年会员
UID 155365
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果
echo 0. 退出
echo;
set /p i=请选择:
cls
if "!i!"=="0" exit
if "!i!"=="1" call :n 3 10 0
if "!i!"=="2" call :n 4 10 0
if "!i!"=="3" call :n 5 31 1
if "!i!"=="4" call :n 6 43 1
if not "!i!"=="5" goto input
call :n 3 10 0
call :n 4 10 0
call :n 5 31 1
call :n 6 43 1
goto input

:n
for /l %%a in (1 1 %1) do (
set /a n=!random! %% %2 + %3
set /p =!n! <nul
)
echo;
echo =======================
if %i% neq 5 goto input

直接回车, 是重复上次的选择.

[ Last edited by 000000000000000 on 2010-3-5 at 23:06 ]
4 发表于 2010-03-05 23:47 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
参考:福利彩票双色球自动选号器之批处理彩色版
http://bbs.bathome.net/thread-3109-1-1.html
5 发表于 2010-03-06 07:49 ·  日本 Softbank
初级用户
★★
积分 64
发帖 57
注册 2010-02-25 19:56
16年会员
UID 161189
性别 男
状态 离线
Originally posted by 000000000000000 at 2010-3-5 22:51:
@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果 ...



谢谢您的代码,我试验了,不错!

就是有一个问题,随机出现的数字有重复的。之前我忽略了这一点。
6 发表于 2010-03-06 08:12 ·  日本 Softbank
初级用户
★★
积分 64
发帖 57
注册 2010-02-25 19:56
16年会员
UID 161189
性别 男
状态 离线
Originally posted by HAT at 2010-3-5 23:47:
参考:福利彩票双色球自动选号器之批处理彩色版
http://bbs.bathome.net/thread-3109-1-1.html



这个也不错!收下啦!谢谢!
7 发表于 2010-03-06 11:21 ·  中国 上海 杨浦区 电信
初级用户
积分 49
发帖 42
注册 2009-11-26 04:39
16年会员
UID 155365
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果
echo 0. 退出
echo;
set /p i=请选择:
cls
if "!i!"=="0" exit
if "!i!"=="1" call :n 3 10 0
if "!i!"=="2" call :n 4 10 0
if "!i!"=="3" call :n 5 31 1
if "!i!"=="4" call :n 6 43 1
if not "!i!"=="5" goto input
call :n 3 10 0
call :n 4 10 0
call :n 5 31 1
call :n 6 43 1
goto input

:n
setlocal
set loop=%1

:loop
set /a n=%random% %% %2 + %3
if defined %n% goto loop
set %n%=d
set /p =%n% <nul
set /a loop-=1
if %loop% neq 0 goto loop

endlocal

echo;
echo =======================
if %i% neq 5 goto input
8 发表于 2010-03-09 07:50 ·  日本
初级用户
★★
积分 64
发帖 57
注册 2010-02-25 19:56
16年会员
UID 161189
性别 男
状态 离线
Originally posted by 000000000000000 at 2010-3-6 11:21:
@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果 ...




问题解决了!谢谢~~
论坛跳转: