【Batch批处理】利⽤goto实现while循环效果和实例演⽰
while语句简单例子
⽂章⽬录
Batch批处理中是没有while语句的,for循环使⽤起来⼜有点复杂,那么如何来进⾏简单的循环操作呢,这⼀节我们⼀起来看看。
我是T型⼈⼩付,⼀位坚持终⾝学习的互联⽹从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。简单介绍
标签
标签是⼀个定位符,⼀个锚点,类似于前端中的anchor,⽤来做为跳转的⽬的地。Batch批处理中⽤冒号加上名字来表⽰,例如:label1,:loop等
goto
⽤来跳转到标签的命令,例如goto :label1,goto :loop等
利⽤标签来标志⼀段循环体的开头,不满⾜跳出循环的条件就在循环结尾处跳转到标签处,达到循环的⽬的
使⽤⽅法详解
常规使⽤
下⾯这个简单的例⼦是⽣成从0到9⼀共10个数字
::iterate 10 times
@echo off
set /a num=0
:loop
echo %num%
set /a num+=1
if %num% lss 10 goto :loop
exit /b
执⾏效果如下
c:\Batch\test>while_10.bat
1
2
3
4
5
6
7
8
9
循环⽣成随机数
通常情况下不知道循环次数会更适⽤⼀些,例如⽣成范围在[-100,100)的整数,如果是负数就退出循环
::random less than 0
@echo off
:rand
set /a rnd=%random%*200/32768-100
echo %rnd%
if %rnd% geq 0 goto :rand
echo Finally!!
exit /b
执⾏结果如下
c:\Batch\test>random_100.bat
18
32
28
30
30
-32
Finally!!
循环获取⽤户的输⼊
也可以和⽤户进⾏互动,例如事先直到⽤户姓名的前提下,⽤户输⼊正确的姓名退出循环
::iterate until input correct name
@echo off
set name=xiaofu
:loop
set /p input=Please input your name:
if %input% neq %name% goto :loop
echo Congrats!!
exit /b
执⾏结果如下
c:\Batch\test>while_set.bat
Please input your name:james
Please input your name:"xiao fu"
Please input your name:xiaofu
Congrats!!
如果字符串中间有空格记得加上双引号
使⽤场景
如上所⽰,这种goto加标签的循环⽅式和while循环⼀样,适⽤于不知道具体循环次数的场景
总结
这种类似于while的循环还是很简单的,真正⽐较难的是批处理中for循环的使⽤,下⼀节我们就⼀起来看⼀看for循环都可以⼲哪些事情。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。