for /L 语句扩展

前面章节介绍了 for 语句的基础用法,以及 for /D、for /R 扩展用法。

本节将介绍 for /L 扩展用法。for /L 用使用给定信息创建序列,语法如下:

FOR /L %variable IN (start,step,end) DO command [command-parameters]

上面语法中其他指令已经在前面介绍过,for /L 表示以增量形式从 start 以每次增加 step,直到到 end 的一个数字序列。如果 start 小于 end,就会执行该命令。如果迭代变量超过 end,则命令解释程序退出此循环。还可以使用负的 step 以递减数值的方式逐步执行此范围内的值。其他参数说明:

  • start:指定创建序列的开始位置

  • step:for 语句创建序列时单步距离。

  • end:指定创建序列结束位置

实例:创建 1~5 的序列。

@echo off
for /L %%i in (1,1,5) do echo %%i
pause

输出结果:

C:\Users\Administrator\Desktop\bat> test.bat
1
2
3
4
5
请按任意键继续. . .

实例:创建 5~1 的序列。

@echo off
for /L %%i in (5,-1,1) do echo %%i
pause

输出结果:

C:\Users\Administrator\Desktop\bat> test.bat
5
4
3
2
1
请按任意键继续. . .

实例:start,step 和 end 三者的数值关系。

@echo off
for /l %%i in (2,2,13) do echo %%i
pause >nul

输出结果:

C:\Users\Administrator\Desktop\bat> test.bat
2
4
6
8
10
12

根据实例输出的结果,可以得出如下结论:

  • start > end,即 2 > 13

  • 当 step 为正时,start+step 决定 %%i 的最小取值范围,end 决定 %%i 的最大取值范围。

  • 当 step 为负时,start+step 决定 %%i 的最大取值范围,end 决定 %%i 的最小取值范围。

实例:使用 for 创建大量的文件夹。

@echo off
cd test
for /l %%i in (1,1,100) do (
    md %%i
)
echo finished.
pause >nul

输出结果:

C:\Users\Administrator\Desktop\bat> test.bat
finished.

查看效果图:

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号