Board logo

标题: 纯DOS下如何退出批处理? [打印本页]

作者: p2227     时间: 2008-1-22 22:58    标题: 纯DOS下如何退出批处理?
就像CMD下的EXIT这样
用EXE程序也可

作者: fastslz     时间: 2008-1-22 23:08
问题纯DOS EXIT还是纯DOS呀
重启RESTART.COM

作者: p2227     时间: 2008-1-22 23:16
打错了,不知道为什么编辑不了,是退出批处理的执行,不是重启。

作者: fastslz     时间: 2008-1-22 23:18
ctrl+c

作者: p2227     时间: 2008-1-22 23:24
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

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

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

作者: fastslz     时间: 2008-1-22 23:36
除了goto end我也不知道
你可以尝试程序返回值再goto end不过还是goto

作者: p2227     时间: 2008-1-22 23:38
貌似goto是最好方法

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

:end 放在最后

作者: qzwqzw     时间: 2008-1-22 23:39
方法比较多
取决于批处理的运行状态
如果被command /c调用,那么Exit就可以了

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

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

作者: fastslz     时间: 2008-1-22 23:57
echo.>quit.bat是个好办法
不过楼主的想法很独特,我写批处理从未考虑过中途exit

作者: p2227     时间: 2008-1-23 00:34
是这样的,我有两个版本的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

的话就提示需要版本号