在cmd中查看帮助: for /?
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
如果启用命令扩展,则会支持下列 FOR 命令的其他格式:
1. 参数/L (循环一个数字序列):
格式: FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5, (5,-1,1)将产生序列(5 4 3 2 1)
示例:
rem 显示从1到10
@echo off
FOR /L %%i IN (1,1,10) DO echo %%i
pause
2. 参数 /DO (参数只能显示当前目录下的目录名字):
格式: FOR /D %variable IN (set) DO command [command-parameters]
示例:
rem 显示c盘根目录下的所有目录
@echo off
FOR /D %%i IN (c:\\*) DO echo %%i
pause
3. 参数 /R (搜索指定路径及所有子目录中与set相符合的所有文件)
格式: FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
示例:
rem 把C盘根目录和每个目录的子目录下面全部的EXE文件都列出来
@echo off
FOR /R c:\\ %%i in (*.exe) DO echo %%i
pause