bat脚本的for循环
基础语法
for %%variable in (set) do command
在这里,%%variable是循环变量,代表每次循环中的当前元素。(set)是我们想要迭代的集合,可以是文件列表、数字范围等等。command是当每次循环时执行的命令。
示例1:迭代数字范围
@echo off
for %%i in (1 2 3 4 5) do echo %%i
这个脚本会打印出数字1到5。
示例2:迭代文件列表
@echo off
for %%i in (file1.txt file2.txt file3.txt) do echo %%i
这个脚本会打印出文件列表。
示例3:在循环中使用变量
@echo off
setlocal enabledelayedexpansion
set /a count=0
for %%i in (1 2 3 4 5) do (
set /a count+=1
echo !count! - %%i
)
这个脚本在每次循环中增加一个计数器,并打印出计数器与当前迭代的值。注意这里我们使用setlocal enabledelayedexpansion来启用变量的延迟扩展,这是因为我们需要在循环体内部访问变量值。
其他注意事项
在批处理脚本中,%%variable中的variable可以是任何字符,但最好选择在集合和命令中不常见的字符。
在循环体内部,如果需要访问循环变量的当前值,需要使用%%variable,而不是%variable%。这是因为在批处理脚本中,%variable%会被解释为变量的当前值,而在循环体内部,变量的当前值可能会改变。