中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 纯DOS下如何退出批处理? 上一主题 | 下一主题
p2227
初级用户





积分 40
发帖 14
注册 2007-2-28
状态 离线
『楼 主』:  纯DOS下如何退出批处理?

就像CMD下的EXIT这样
用EXE程序也可

2008-1-22 22:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

问题纯DOS EXIT还是纯DOS呀
重启RESTART.COM



第一高手    第二高手

2008-1-22 23:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
p2227
初级用户





积分 40
发帖 14
注册 2007-2-28
状态 离线
『第 3 楼』:  

打错了,不知道为什么编辑不了,是退出批处理的执行,不是重启。

2008-1-22 23:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  

ctrl+c



第一高手    第二高手

2008-1-22 23:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
p2227
初级用户





积分 40
发帖 14
注册 2007-2-28
状态 离线
『第 5 楼』:  

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

意思是在批处理里加入语句,让它自己停止自己运行,除了这样

::语句***
goto end
::语句****
:end

2008-1-22 23:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 6 楼』:  

除了goto end我也不知道
你可以尝试程序返回值再goto end不过还是goto



第一高手    第二高手

2008-1-22 23:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
p2227
初级用户





积分 40
发帖 14
注册 2007-2-28
状态 离线
『第 7 楼』:  

貌似goto是最好方法

每一个子程序都加一个 goto end 就可以不互相干扰

:end 放在最后

2008-1-22 23:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 8 楼』:  

方法比较多
取决于批处理的运行状态
如果被command /c调用,那么Exit就可以了

如果在命令行直接运行,除了goto :end
还可以echo.>quit.bat然后直接执行这个quit.bat

如果被父级批处理调用而又想退出所有批处理
似乎可以用command /p(记不太清了)

2008-1-22 23:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 9 楼』:  

echo.>quit.bat是个好办法
不过楼主的想法很独特,我写批处理从未考虑过中途exit



第一高手    第二高手

2008-1-22 23:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
p2227
初级用户





积分 40
发帖 14
注册 2007-2-28
状态 离线
『第 10 楼』:  

是这样的,我有两个版本的MHDD,放在A:\MHDD29和A:\MHDD46中,然后想写个mhdd.bat,内容如下:

@echo off
if "%ramd%%0"=="%0" goto error1
if "%1%0"=="%0" goto error2

deltree %ramd%:\mhdd%1 /y
md %ramd%:\mhdd%1
%ramd%:
cd mhdd%1
xcopy A:\mhdd%1 /e
mhdd%1
goto end

:error1
echo you must run this after ramdisk
goto end

:error2
echo Version(29/46) is needed
goto end

:end
A:

这样的话

MHDD 29

就会执行mhdd2.9 ,46类推


MHDD

的话就提示需要版本号

2008-1-23 00:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: