首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bat批处理脚本for命令基础知识

在Bat批处理中,for是最为强大的命令语句,它能实现解析文本内容、遍历文件路径、数值递增/递减等操作;配合if、call、goto等流程控制语句,可以实现脚本复杂的自动化、智能化操作。

1. for命令基础

for命令,对一组文件中的每一个文件执行某个特定命令。

语法格式:

参数说明:

%variable 指定可替换的参数。

(set) 指定一个或一组文件。可以使用通配符。

command 指定对每个文件执行的命令。

command-parameters 为特定命令指定参数或命令行开关。

在批处理程序中使用 FOR 命令时,指定变量请使用 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I。

一个简单的例子:

运行结果:

for语句中in和do是必须有的;

in之后,do之前,也就是set的括号不能省略;

括号中的set可以是一个或多个字符串或变量,每一个字符串或变量称之为一个元素,每个元素之间可以用空格、tab键、逗号、分号、等号进行分隔;

实例:演示分隔

运行结果:

当括号中的ABC被分隔符分隔成3个元素后,for会对每一个元素执行一次命令,所以do后面的命令会执行3次;

第1次,把A这个字符作为变量a的值,带入do后的语句执行,输出字符A;第2次,把B这个字符替换为变量a的值,输出字符B,如此循环,第3次输出字符C,把所有元素遍历一遍后,才执行下一条命令pause。

实例:使用for语句显示当前目录下的文件名称,并查找以.md结尾的文件。

运行结果:

2. for /D 语句扩展

for /D语句的作用:如果集(set)中包含通配符,则指定与目录名匹配,而不与文件名匹配。也就是通过for /D来打印出目录名,语法格式:

实例:for语句加/D命令与不加/D命令的对比。

运行结果:

实例:显示C盘下的目录,不包含子目录

运行结果:

3. for /R 语句扩展

检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。

如果在 /R 后没有指定目录规范,则使用当前目录。如果集(set)仅为一个单点(.)字符,则枚举该目录树。

语法格式:

实例:不指定目录,显示当前目录下的所有文件,包括子目录下的文件。

运行结果:

实例:在D盘搜索Notepad--.exe程序并打开。

运行结果:

4. for /L 语句扩展

for /L的作用是以增量形式从开始到结束生成一个数字序列。语法格式:

start:创建序列的开始位置;

step:创建序列时单步距离;

end:创建序列结束位置;

for /L 以增量形式从start开始,每次增加step,直到end这个数字的序列。

实例:

运行结果:

实例:使用for语句创建100个txt文件

运行结果:

通过Bat批处理脚本创建100个txt文件只需几秒钟,效率非常高。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230421A09EI200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券