|
p2227
初级用户
积分 40
发帖 14
注册 2007-2-28
状态 离线
|
『楼 主』:
纯DOS下如何退出批处理?
就像CMD下的EXIT这样
用EXE程序也可
|
|
2008-1-22 22:58 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
2008-1-22 23:08 |
|
|
p2227
初级用户
积分 40
发帖 14
注册 2007-2-28
状态 离线
|
『第
3 楼』:
打错了,不知道为什么编辑不了,是退出批处理的执行,不是重启。
|
|
2008-1-22 23:16 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
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 |
|