Windows批处理脚本中for循环的使用方法详解
创作时间:
作者:
@小白创作中心
Windows批处理脚本中for循环的使用方法详解
引用
CSDN
1.
https://blog.csdn.net/Linuxprobe18/article/details/116448181
本文详细介绍了Windows批处理脚本中for循环的使用方法,包括基本语法、关键要素、注意事项以及高级应用等核心内容。通过多个具体的示例,帮助读者全面理解和掌握Windows批处理脚本中for循环的使用技巧。
基本语法
Windows批处理脚本的for语句基本形态如下:
在cmd窗口中:for %I in (command1) do command2
在批处理文件中:for %%I in (command1) do command2
之所以要区分cmd窗口和批处理文件两种环境,是因为在这两种环境下,命令语句表现出来的行为虽然基本一样,但是在细节上还是稍有不同,最明显的一个差异就是:在cmd窗口中,for之后的形式变量I必须使用单百分号引用,即%I;而在批处理文件中,引用形式变量I必须使用双百分号,即%%I。为了方便起见,若不是特别强调,以下的讲解都以批处理文件环境为例。
基本要素
我们先来看一下for语句的基本要素都有些什么:
- for、in和do是for语句的关键字,它们三个缺一不可;
- %%I是for语句中对形式变量的引用,即使变量l在do后的语句中没有参与语句的执行,也是必须出现的;
- in之后,do之前的括号不能省略;
- command1表示字符串或变量,command2表示字符串、变量或命令语句;
下面来看一个Windows批处理脚本的demo(记为demo1):
for %%I in (ABC) do echo %%I
保存为.bat文件(批处理文件)并执行,将会在弹出的批处理窗口中看到这样的信息:
注意事项
对批处理文件的for循环就是这样简单,下面来看看for语句的注意事项,并运行更复杂的for循环实例。
- for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写,也就是说,%%I和%%i会被认为不是同一个变量;形式变量I还可以换成其他的字符,但是,为了不与批处理中的%0~%9这10个形式变量发生冲突,请不要随意把%%I替换为%%0~%%9中的任意一个;
- in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;
- for语句依次提取command1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行;并且每次只提取一个元素,然后执行一次do后的语句,而无论这个元素是否被带到command2中参与了command2的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for语句才宣告执行结束。
有了以上的基础,我们再来看下面这个例子,这个例子修改了demo1中的部分内容(记为demo2),结果将大不一样:
for %%I in (A,B,C) do echo %%I
运行结果如下:
如果把 bbs.bathome.cn 这个字符串中的点号换为空格、跳格或等号,执行结果将和demo2的执行结果别无二致。
现在,来分析一下demo2代码中for语句的执行过程:
- 1.for语句以逗号为分隔符,把 A,B,C 这个字符串切分成三个元素:A、B和C,由此决定了do后的语句将会被执行3次;
- 2.第一次执行过程是这样的:先把 bbs 这个字符串作为形式变量I的值,带入do后的语句中加以执行,也就是执行 echo %%I 语句,此时的I值为A,因此,第一次执行的结果,将会在屏幕上显示A这个字符串;第二次执行和第一次执行的过程是一样的,只不过此时I的值已经被替换为command1中的第二个元素了,也就是 B 这个字符串;如此循环,当第三次echo执行完毕之后,整条for语句才算执行完毕,此时,将执行下一条语句,也就是pause命令。Linux就该这么学
高级用法
- 搜索当前目录下有哪些文件?
for %%i in (*.*) do echo "%%i"
- 搜索当前目录下所有的文本文件?
for %%i in (*.txt) do echo "%%i"
热门推荐
烟头回收产业面临多重挑战,国际经验提供破局之道
古代四次移民潮的主要输入地是湖北,你的祖先是在哪里?
百家姓之54—凤姓,起源·迁徙·家训·名人故事
全球华人移民分布:十大国家深度解析
宋朝传统版《百家姓》,第194名,“嵇姓”的起源和历史,你知道吗
孔子文化主要思想“仁义礼智信”说明与应用
2029鸡年:属鸡人的独立性将在变局中闪光
双鱼座属鸡人2024运势:下半年事业突破,整体向好
电视剧《九部的检察官》热播,未成年人校园安全防护指南来了
全球多国收紧未成年人网络监管:从禁用社媒到课堂禁电子设备
生肖文化里的“天之骄子”:八个生肖的独特魅力
铜价受哪些因素影响?这些因素如何相互作用?
AI换脸技术颠覆影视特效,你准备好迎接视觉盛宴了吗?
黄芪泡水的最佳搭档竟是它?
带孩子去贵阳旅游哪里好?这五个景点最适合亲子游
保健食品如何赢得消费者心!网红营销帮助品牌提升信任度与参与度
古代为什么要大规模迁移人口?从秦朝人口迁移,看其中的政治需求
山东辛氏家族的基因溯源与历史分析
风景摄影选高像素,运动抓拍选高速:相机选购指南
河北大学团队40年破解近万疑难字,助力汉字数字化发展
燚:四火汇聚的汉字,从西周金文到现代人名
职场高情商回复:领导点赞狂魔上线
领导点赞,职场幸福感爆棚?
2024年必看动作片Top5:从科幻巨制到港式江湖
16-18岁未成年工享四大特殊保护,禁止从事有害健康工作
一文读懂房改房赠与:协议办理全流程指南
赠与合同效力认定:公证并非必要条件
央行货币政策三维度解析:利率、货币供应与信贷政策的影响
主权基金A股持仓揭秘:阿布达比激进,科威特稳健
AI换脸诈骗猖獗,浙大实验室教你防骗