中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 学习中,请帮助[在线等待学习]
作者:
标题: 学习中,请帮助[在线等待学习] 上一主题 | 下一主题
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 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

在线等待,谢谢帮忙

2008-4-29 07:54
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

同一组号码间没排序
@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
2008-4-29 09:25
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 3 楼』:  

出来的是这样的
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就最好了。



[ Last edited by sea1112 on 2008-4-29 at 11:03 AM ]

2008-4-29 10:31
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  

楼主要求还真高啊,写入xls是做不到的,你自己复制过去就是的啊



批处理之家新域名:www.bathome.net
2008-4-29 11:06
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:  

生成逗号分隔的*.csv文件就可以用Excel打开再稍加编辑就OK

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

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



2008-4-29 11:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  

如果要写入excel的话,

可以用VBA

或者vbs

2008-4-29 11:15
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 7 楼』:  



  Quote:
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 ]

写你的东西出来,大家学习下啊

2008-4-29 11:44
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  n天后终于能给楼主较满意的答案了:

请自己从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
2008-5-4 21:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: