![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 10:42 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]抽奖————————模拟线程 |
| 可打印版本 3,800 / 23 |
| 第1楼 s11ss | 发表于 2008-04-28 13:33 |
| 银牌会员 发帖 566 积分 2,098 | |
|
[原创]抽奖————————模拟线程 操作注册表好像比产生临时文件更麻烦。
另外,对于此bat,由于临时文件的“生存时间”很短,因此在Windows Shell下,你看不到它的产生与消失。 [ Last edited by s11ss on 2008-4-28 at 04:59 PM ] |
|
| 第2楼 zhitingkey | 发表于 2008-04-28 13:52 |
| 初级用户 发帖 32 积分 84 来自 湖北 | |
|
不错哦,能不能说说原理啊`详细解释一下你这个代码!好么`
|
|
| 第3楼 s11ss | 发表于 2008-04-28 14:11 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by zhitingkey at 2008-4-28 01:52 PM: if "%1" equ "-t" goto t ::-t是启动“线程”的参数 start /b %~s0 -t ::再打开一个cmd.exe来启动不断变换标题的“线程”;但这个新开的cmd.exe还是使用当前cmd窗口,而不是再打开一个cmd窗口——由参数/b控制 echo 请按任意键停止. . .&pause>nul cd.>t start /b del t^&exit ::再打开一个cmd.exe来删除t并退出新的cmd.exe。在t的“生存期间”,“线程”检测到t而退出(“线程”退出)。 echo 请按任意键开始. . .&pause>nul |
|
| 第4楼 plp626 | 发表于 2008-04-28 14:25 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
你这次怎么有说start/b 启动的是线程了,”多了个cmd.exe----是进程“
兄能否发个多进程的专帖大家一起讨论----进程之间的通信,多进程还是很具有潜力,像这个帖子,和那个等待输入的帖子,cmd的单进程是无法实现。 |
|
| 第5楼 s11ss | 发表于 2008-04-28 14:30 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by plp626 at 2008-4-28 02:25 PM: 我加了引号啊~~~~~ 讨论???你不是发帖讨论过了么?结果也有了啊: 注册表、临时文件和start /b 没有其他的方法了吧? |
|
| 第6楼 plp626 | 发表于 2008-04-28 14:38 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
我不敢说没有,
一个修改系统环境变量date,另一个再改回来,只是这个方法要改系统日期,怕有点危险。 有没有其他的不是很重要的系统环境变量供修改?我没找到... 这多进程貌视还可以轻松实现密码不回显呢,真的有必要发个帖子讨论 [ Last edited by plp626 on 2008-4-28 at 02:42 PM ] |
|
| 第7楼 s11ss | 发表于 2008-04-28 14:42 |
| 银牌会员 发帖 566 积分 2,098 | |
|
系统环境变量修改后不会立马生效,要重启后才会生效
|
|
| 第8楼 plp626 | 发表于 2008-04-28 14:53 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
你也可以再打开一个cmd echo %date% 试试看有没变化 |
|
| 第9楼 zh159 | 发表于 2008-04-28 15:16 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
系统日期属于比较特别的环境变量,它是根据系统的实际日期实时变化的
BUG:有时候会提示“找不到 ...文件”也就是批处理本身 [ Last edited by zh159 on 2008-4-28 at 03:20 PM ] |
|
| 第10楼 plp626 | 发表于 2008-04-28 15:17 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
我把你的代码稍改下,用该date的方法,不生成临时文件。
你的系统日期现在若是:2008-04-28 星期一,会感觉不到日期被修改: ---------------------------------------- 楼下: echo %date%后面没星期几试试这个代码 [ Last edited by plp626 on 2008-4-28 at 03:38 PM ] |
|
| 第11楼 s11ss | 发表于 2008-04-28 15:20 |
| 银牌会员 发帖 566 积分 2,098 | |
|
我说的那种系统环境变量,是静态的吧?就是set列出来的。
我说的生效,是说彻底改变这个变量,而不仅仅是在当前cmd窗口下有效。 如date、time是动态环境变量,可以随时改变并生效吧?不过random却又是个例外~~~~~~~~~~~ 这些动态环境变量的应用貌似还得讨论下。 另外我这边echo %date%的结果是2008-04-28。(没有星期几) |
|
| 第12楼 s11ss | 发表于 2008-04-28 15:39 |
| 银牌会员 发帖 566 积分 2,098 | |
|
如此反复修改日期,实在不是上策
|
|
| 第13楼 plp626 | 发表于 2008-04-28 15:41 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
是呀,哪赶快发帖讨论吧
------------------------- 你不发我发,高人多着呢,我就不信没人响应。。。 [ Last edited by plp626 on 2008-4-28 at 04:02 PM ] |
|
| 第14楼 zh159 | 发表于 2008-04-28 17:37 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
看看是否可以利用%ERRORLEVEL%
|
|
| 第15楼 s11ss | 发表于 2008-04-28 17:43 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by zh159 at 2008-4-28 05:37 PM: 试过了,貌似不行。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |