批处理if和goto的简单例子?
本人刚学批处理二日,学到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里面是一至的)。
而其他的功能都可由次演化出来。。建议多看些批处理源码。就能很好的理解了
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里面是一至的)。
而其他的功能都可由次演化出来。。建议多看些批处理源码。就能很好的理解了
尚科生物医药(上海)有限公司
2020-07-01 广告
2020-07-01 广告
NADP方面可以找尚科生物医药(上海)有限公司,尚科生物医药(上海)有限公司致力于绿色制药领域的研究与开发,主营业务包括:生物酶的开发与应用、医药中间体、原料药和功能化学品的开发与生产。公司的主要产品为辅酶系列产品,包括NMN、NAD、NA...
点击进入详情页
本回答由尚科生物医药(上海)有限公司提供
展开全部
批处理中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
这句简单给你说下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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
: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:用的是我写的一个指定日期删除文件夹的批处理为例
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:用的是我写的一个指定日期删除文件夹的批处理为例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
label 1,2;
begin
if true then goto 1;
writeln('123');
1:
2:
writeln('234');
if false then goto 2;
end.
begin
if true then goto 1;
writeln('123');
1:
2:
writeln('234');
if false then goto 2;
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询