中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 11:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 学习中,请帮助[在线等待学习] 查看 1,049 回复 7
楼 主 学习中,请帮助[在线等待学习] 发表于 2008-04-29 07:54 ·  中国 广东 广州 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
请高手帮助
我想做个六合彩的P玩
我想开100次六合彩给自己看,可是不会写P

号码为1-49
一次开7个,格式为:x1 x2 x3 x4 x5 x6 x7
P是这样想的
X1-7对比不可有相同
X1-6排大小,小到大排列
echo %x1% %x2% %x3% %x4% %x5% %x6% %x1%>>num.txt

在线等待,谢谢帮忙
2 发表于 2008-04-29 09:25 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
同一组号码间没排序
@echo off
if exist num.txt del /q num.txt
set n=0
:begin
set /a n+=1&set m=0&set str=&set var=
if %n% gtr 100 start num.txt&goto :eof
:lp
set /a a=%random%%%49+1
for %%i in (%str%) do if %%i equ %a% goto lp
set str=%str% %a%&set /a m+=1
set var=%var% %n%-%a%
if %m% equ 7 (
echo %var%>>num.txt&goto begin
) else (
goto lp
)


[ Last edited by zw19750516 on 2008-4-29 at 11:38 AM ]
批处理之家新域名:www.bathome.net
3 发表于 2008-04-29 10:31 ·  中国 广东 广州 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
出来的是这样的
2-47 2-14 2-5 2-24 2-43 2-45 2-31
3-21 3-1 3-45 3-31 3-11 3-32 3-25
4-28 4-48 4-41 4-32 4-31 4-22 4-5
5-35 5-22 5-12 5-3 5-21 5-20 5-14
6-26 6-46 6-18 6-36 6-41 6-16 6-21
7-38 7-35 7-32 7-43 7-23 7-16 7-8
8-39 8-46 8-5 8-3 8-22 8-26 8-12

没排序啊!!
出来的是这样就好了。
期号: 号码_ _ _ _ _ _ 特号__
2期 5 14 24 43 45 47 31
3期 1 11 21 31 32 45 25
.................

功能提升
数据能写入xls就最好了。

www.dingsheng28.com/images/a.jpg

[ Last edited by sea1112 on 2008-4-29 at 11:03 AM ]
4 发表于 2008-04-29 11:06 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
楼主要求还真高啊,写入xls是做不到的,你自己复制过去就是的啊
批处理之家新域名:www.bathome.net
5 发表于 2008-04-29 11:14 ·  中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
生成逗号分隔的*.csv文件就可以用Excel打开再稍加编辑就OK

如果用复制粘贴到Excel,要用{TAB}分隔

[ Last edited by zh159 on 2008-4-29 at 11:15 AM ]
6 发表于 2008-04-29 11:15 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
如果要写入excel的话,

可以用VBA

或者vbs
7 发表于 2008-04-29 11:44 ·  中国 广东 广州 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
Originally posted by zh159 at 2008-4-29 11:14 AM:
生成逗号分隔的*.csv文件就可以用Excel打开再稍加编辑就OK

如果用复制粘贴到Excel,要用{TAB}分隔

[ Last edited by zh159 on 2008-4-29 at 11:15 AM ]


写你的东西出来,大家学习下啊
8 n天后终于能给楼主较满意的答案了: 发表于 2008-05-04 21:17 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
请自己从num.txt中复制粘贴至excel,因论坛处理不了tab键,请自己把组号 号码 特号和%n% !str! !th!中间的空格改为tab(方法是删除空格后在字符后面按下tab键)

@echo off&setlocal enabledelayedexpansion
echo 组号 号码 特号>num.txt
set n=0
:begin
set /a n+=1&set m=0&set str=
if %n% gtr 100 start num.txt&goto :eof
:lp
set /a num=%random%%%49+1
if %num% lss 10 set num=0%num%
set num=#%num%#
for %%i in (%str%) do if %%i equ %num% goto lp
set str=%num% %str%&set /a m+=1
if %m% equ 7 (
for %%i in (%str%) do set a=%%i&call :loop
set str=!str:#=!
for %%i in (!str!) do set th=%%i
echo %n% !str! !th!>>num.txt
goto begin
) else (
goto lp
)
:loop
for %%i in (%str%) do (
set b=%%i
set b=!b:~1,-1!&set c=!a:~1,-1!
if !b! lss !c! (
set str=!str:%a% =!
set str=!str:%%i=%%i %a%!
) else (
set str=!str!
)
)

附图片:


[ Last edited by zw19750516 on 2008-5-6 at 12:36 AM ]
批处理之家新域名:www.bathome.net
论坛跳转: