中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 12:01
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 纯DOS下如何退出批处理?
可打印版本  764 / 9
第1楼 p2227 发表于 2008-01-22 22:58
初级用户 发帖 14 积分 40
纯DOS下如何退出批处理?
就像CMD下的EXIT这样
用EXE程序也可
第2楼 fastslz 发表于 2008-01-22 23:08
铂金会员 发帖 2,315 积分 5,493 来自 上海
问题纯DOS EXIT还是纯DOS呀
重启RESTART.COM
第3楼 p2227 发表于 2008-01-22 23:16
初级用户 发帖 14 积分 40
打错了,不知道为什么编辑不了,是退出批处理的执行,不是重启。
第4楼 fastslz 发表于 2008-01-22 23:18
铂金会员 发帖 2,315 积分 5,493 来自 上海
ctrl+c
第5楼 p2227 发表于 2008-01-22 23:24
初级用户 发帖 14 积分 40
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

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

::语句***
goto end
::语句****
:end
第6楼 fastslz 发表于 2008-01-22 23:36
铂金会员 发帖 2,315 积分 5,493 来自 上海
除了goto end我也不知道
你可以尝试程序返回值再goto end不过还是goto
第7楼 p2227 发表于 2008-01-22 23:38
初级用户 发帖 14 积分 40
貌似goto是最好方法

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

:end 放在最后
第8楼 qzwqzw 发表于 2008-01-22 23:39
银牌会员 发帖 636 积分 2,343
方法比较多
取决于批处理的运行状态
如果被command /c调用,那么Exit就可以了

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

如果被父级批处理调用而又想退出所有批处理
似乎可以用command /p(记不太清了)
第9楼 fastslz 发表于 2008-01-22 23:57
铂金会员 发帖 2,315 积分 5,493 来自 上海
echo.>quit.bat是个好办法
不过楼主的想法很独特,我写批处理从未考虑过中途exit
第10楼 p2227 发表于 2008-01-23 00:34
初级用户 发帖 14 积分 40
是这样的,我有两个版本的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

的话就提示需要版本号
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023