标题: 问一个关于标签的很菜的问题
[打印本页]
作者: lililulula
时间: 2007-4-21 01:54
标题: 问一个关于标签的很菜的问题
很菜的问题
批处理脚本中标签后内容一定会运行?
比如
setlocal EnableDelayedExpansion
set a=1
if %a%==1 (set /a b=%a%+1) else (goto c)
:c
set /a b=%b%+2
echo %b%
pause
这个脚本结果是4,a=1 时执行b=1+1=2,但是脚本执行完毕后仍会执行:c的内容
我想知道标签结束的标志是什么?可否让其未满足条件后不执行标签语句?
作者: dikex
时间: 2007-4-21 02:08
setlocal EnableDelayedExpansion
set a=1
if %a%==1 (set /a b=%a%+1) else (goto c)
pause
goto :eof
:c
set /a b=%b%+2
echo %b%
pause
作者: lililulula
时间: 2007-4-21 04:50
谢谢dikex 除了用用eof跳出程序还有其他的方法吗?
作者: everest79
时间: 2007-4-21 04:51
将goto :eof换为exit也行
或者你将自定义标签放在最前边,行首用goto man来跳转也行
作者: lililulula
时间: 2007-4-21 05:10
goto man?能给个例子吗?不是很明白
作者: htysm
时间: 2007-4-21 05:41
setlocal EnableDelayedExpansion
set a=1
if %a%==1 (
set /a b=%a%+1
.......
) else (
set /a b=%b%+2
echo %b%
.......
)
pause