中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 16:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]抽奖————————模拟线程 查看 3,773 回复 23
16 发表于 2008-04-28 21:26 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
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,第一个、第二个、还是第三个?
不是很明白。
┌───────┐
├→学习→实践→┤
└───────┘
17 发表于 2008-04-28 22:28 ·  中国 北京 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
这里的"exit"退出的是专门用来删除临时文件t的cmd.exe,即第三个。
18 发表于 2008-04-29 07:23 ·  法国
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
19年会员
UID 74627
性别 男
状态 离线
Originally posted by zh159 at 2008-4-28 05:37 PM:
看看是否可以利用%ERRORLEVEL%


建议高手 不要生成临时文件试试
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
19 发表于 2008-04-29 19:05 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
还有个问题,(我很菜,不要怪我罗嗦)加转意字符(^)与不加区别很大,为什么?
为什么加了^后exit关闭的是新开的cmd.exe进程?
┌───────┐
├→学习→实践→┤
└───────┘
20 发表于 2008-04-30 01:57 ·  中国 台湾 中华电信(HiNet)数据中心
初级用户
积分 109
发帖 30
注册 2007-09-05 14:27
18年会员
UID 96621
性别 男
状态 离线

@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 ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
plp626 +9 2008-04-30 07:18
26933062 +9 2008-04-30 20:44
21 发表于 2008-04-30 07:21 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
虚拟盘,我没想到,不知速度如何?能有什么好的方法继续想。。。

现在还没有可靠的系统环境变量的方法。。。
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
22 发表于 2008-04-30 13:10 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
有点无赖,不要砸我哦。。。。
但是可以不用临时文件。
:

@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
致精致简!
23 发表于 2008-04-30 13:34 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
这不算”无赖“,正常思维,谁给咱来个颠覆性思维的??
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
24 发表于 2008-05-12 00:23 ·  中国 广东 深圳 电信
初级用户
积分 20
发帖 10
注册 2008-01-01 01:05
18年会员
UID 107355
性别 男
状态 离线
请问:
start /b %~s0 -t
-t 是用来干什么的?

cd.>t 这一句是不是把当前目录写到临时文件t?

谢谢解答!
论坛跳转: