bat 之 for 循环 \large\tt{bat} \text{ 之 } for \text{ 循环} bat 之 for 循环
你可以首先记一个东西叫:setlocal enabledelayedexpansion\text{setlocal enabledelayedexpansion}setlocal enabledelayedexpansion 这个东西叫做变量延迟。
后面的东西可以看做 333 个单词来拼起来,enable delayed expansion\tt enable\ delayed\ expansionenable delayed expansion。
然后常用的 for\tt forfor 貌似只有两种写法。
for /l %%i in (a, b, c) do (
)
还有一种就是
for %%i in (a, b, c) do (
)
前面一种的意思就是从 aaa 开始遍历到 ccc 每次增加 bbb。
for(int i = a; i <= c; i += b)
后面只是单纯遍历 a,b,ca, b, ca,b,c 这几个数。
举个例子比如说我要创建 0∼90 \sim 90∼9 的文件,同时里面各有其文件标号的数字。
@echo off
for /l %%i in (0, 1, 9) do (
echo %%i > %%i.txt
)
如果说是在 0,1,90, 1, 90,1,9 的文件夹追加 0,1,90, 1, 90,1,9 这些数字呢?
@echo off
for %%i in (0, 1, 9) do (
echo %%i >> %%i.txt
)
还有一个问题,如果说要每次输出当前文件加到文件,同时输出其是第几个遍历到的呢?
我们会需要一个变量在 for\tt forfor 中动态自增。
@echo off
setlocal enabledelayedexpansion
set /a v=1
for %%i in (*.*) do (
echo %%i
echo Case : !v!
set /a v+=1
)
本文介绍了在BAT脚本中使用for循环的一些基础知识,包括启用变量延迟设置`setlocal enabledelayedexpansion`,以及两种常见的for循环用法。通过实例展示了如何创建并填充0到9的文件,以及如何在循环中动态自增计数器,以输出当前文件及其在遍历中的顺序。
6万+

被折叠的 条评论
为什么被折叠?



