中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]抽奖————————模拟线程
<   <<   [1] [2]  >>
作者:
标题: [原创]抽奖————————模拟线程 上一主题 | 下一主题
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 16 楼』:  

Originally posted by s11ss at 2008-4-28 14:11: start /b del t^&exit ::再打开一个cmd.exe来删除t并退出新的cmd.exe。在t的“生存期间”,“线程”检测到t而退出(“线程”退出)。
这里的"exit"退出的到底是哪个Cmd.exe,第一个、第二个、还是第三个? 不是很明白。




┌───────┐ ├→学习→实践→┤ └───────┘
2008-4-28 21:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 17 楼』:  

这里的"exit"退出的是专门用来删除临时文件t的cmd.exe,即第三个。


2008-4-28 22:28
查看资料  发短消息  网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 18 楼』:  

Originally posted by zh159 at 2008-4-28 05:37 PM: 看看是否可以利用%ERRORLEVEL%
建议高手 不要生成临时文件试试




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2008-4-29 07:23
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 19 楼』:  

还有个问题,(我很菜,不要怪我罗嗦)加转意字符(^)与不加区别很大,为什么? 为什么加了^后exit关闭的是新开的cmd.exe进程?




┌───────┐ ├→学习→实践→┤ └───────┘
2008-4-29 19:05
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
mkd
初级用户





积分 109
发帖 30
注册 2007-9-5
状态 离线
『第 20 楼』:  

@echo off
:m
if "%1" equ "-t" goto t
subst z: "%cd%"
start /b %~s0 -t
echo 请按任意键停止. . .&pause>nul
subst /d z:
echo 请按任意键开始. . .&pause>nul
goto m
:t
if not exist z:\ exit
title 获奖观众的号码是:%random%
goto t
[ Last edited by mkd on 2008-4-30 at 02:41 AM ]


   此帖被 +18 点积分       点击查看详情   
评分人:【 plp626 分数: +9  时间:2008-4-30 07:18
评分人:【 26933062 分数: +9  时间:2008-4-30 20:44


2008-4-30 01:57
查看资料  发短消息  网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 21 楼』:  

虚拟盘,我没想到,不知速度如何?能有什么好的方法继续想。。。 现在还没有可靠的系统环境变量的方法。。。




山外有山,人外有人;低调做人,努力做事。 进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-30 07:21
查看资料  发短消息  网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 22 楼』:  

有点无赖,不要砸我哦。。。。 但是可以不用临时文件。 :
@echo off&color 1f
:m
if "%1"=="t" goto t
start /b %~s0 t %p%
for /f "skip=2 tokens=2" %%a in ('Tasklist /FI "IMAGENAME eq cmd.exe"') do (
   call set p1=%%p2%%
   set p2=%%a
)
echo 请按任意键停止. . .&pause>nul
taskkill  /f /pid %p1% >nul
echo 请按任意键开始. . .&pause>nul
goto m
:t
title 获奖观众的号码是:%random%
goto t




致精致简!
2008-4-30 13:10
查看资料  发短消息  网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 23 楼』:  

这不算”无赖“,正常思维,谁给咱来个颠覆性思维的??




山外有山,人外有人;低调做人,努力做事。 进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-30 13:34
查看资料  发短消息  网志   编辑帖子  回复  引用回复
scarecrow0929
初级用户





积分 20
发帖 10
注册 2008-1-1
状态 离线
『第 24 楼』:  

请问: start /b %~s0 -t -t 是用来干什么的? cd.>t 这一句是不是把当前目录写到临时文件t? 谢谢解答!


2008-5-12 00:23
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
<   <<   [1] [2]  >>
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: