阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Windows bat脚本之for循环用法

356次阅读
没有评论

共计 1716 个字符,预计需要花费 5 分钟才能阅读完成。

导读 这篇文章主要介绍了 Windows bat 脚本之 for 循环用法详解, 本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值

Windows bat 脚本的 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 bat 脚本的 demo(记为 demo1):

@echo off
for %%I in (ABC) do echo %%I
pause

保存为.bat 文件 (批处理文件) 并执行,将会在弹出的批处理窗口中看到这样的信息:
Windows bat 脚本之 for 循环用法

对批处理文件的 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),结果将大不一样:

@echo off
for %%I in (A,B,C) do echo %%I
pause

运行结果如下:
Windows bat 脚本之 for 循环用法

如果把 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 命令。

高级用法:

1)搜索当前目录下有哪些文件?

@echo off
for %%i in (*.*) do echo "%%i"
pause

2)搜索当前目录下所有的文本文件?

@echo off
for %%i in (*.txt) do echo "%%i"
pause

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1716字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19354
评论数
4
阅读量
8227827
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...