批处理if和goto的简单例子?

本人刚学批处理二日,学到IF和GOTO,但是不是很理解,有那位大哥可以写一个例子出来讲解一下,感激不尽

批处理中的if与c&vb中的用法都是一样的。都是表示条件判断。给你看一个我自己写的批处理的片段

echo 查看帮助请按 1 退出请按 0
echo ———————————————————————————
echo 开始请按 2
echo.
set source=:
set /p source= 请输入要进行操作的序号:
set "source=%sourcE:"=%"
:: 上面这句为判断%source%中是否存在引号,有则剔除。
if "%source%"==":" goto input_source
if "%source%"=="0" exit
if "%source%"=="1" goto help
if "%source%"=="2" goto test_task

:help
*****

:test_task
*****
代码功能部分我给省略了。。免得提示犯罪。。呵呵
上面的if&goto完成的是判断选择功能。。当我输入0批处理就跳转到exit退出
当我输入1批处理就跳转到标签为:help的代码部分。(标签的用法是和C里面是一至的)。
而其他的功能都可由次演化出来。。建议多看些批处理源码。就能很好的理解了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-17
批处理中if和for算是两个比较强大的命令,我空间有详细的说明.
这句简单给你说下if
if是用来判断的,是实现分支的一个命令
@echo
off
set
/p
a=输入一个数字:
if
%a%
gtr
10
(
echo
你输入的数字大于10
)
else
(
if
%a%
equ
10
(
echo
你输入的是10
)
else
(
echo
你输入的数字小于10
)
)
pause
而goto命令是要结合标签执行的
@echo
off
:start
set
/p
a=请输入一个字符(q退出):
if
/i
"%a%"=="q"
goto
end
echo
你输入的是%a%
goto
start
:end
pause
第2个回答  2008-08-14
:start
set date=%date:~0,4%%date:~5,2%%date:~8,2%
rem 设定日期格式为YYYYMMDD
if %date%==20080806 goto doit
rem 如果时间等于20080806跳转到标号doit
rem 如果时间不等于则继续执行下一步
:notdoit
@echo 时间还没到呢
pause.
goto start
rem 跳回顶部
:doit
rem 这里是标号doit
rd d:\xx\ /s/q
@echo 完了,删完了
pause.

PS:用的是我写的一个指定日期删除文件夹的批处理为例
第3个回答  2008-08-14
label 1,2;
begin
if true then goto 1;
writeln('123');
1:
2:
writeln('234');
if false then goto 2;
end.
相似回答