For 为一套文件中的每个文件运行一个指定的命令。
一、基本语法 For %variable In (set) Do command [command=parameters] 参数说明 %variable 指定一个单一字母可替换的参数 set 指定一个或一组文件,可以使用通配符。 command 指定对每个文件执行的命令。 command=parameters 命令的参数。 For %%i In (*) Do (Echo %%i) 这里使用星号通配符,表示当前目录下所有的文件。一个一个的赋予变量i。 For %%i In (a b c d) Do (Echo %%i) 这理一次将括号中的内容赋予变量i 注意:变量前要加两个百分号 二、启用命令扩展名 一共用 D、R、L、F 四个命令参数。 1.For /D %variable In (set) Do command [command=parameters] 指定通配符匹配的是目录名 For /D %%i In (*) Do (Echo %%i) 遍历当前目录下的所有目录 For %%i In (*) Do (Echo %%i) 遍历当前目录下的所有文件 2.For /R [[drive:]path] %variable In (set) Do command [command=parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。 For %%i In (*) Do (Echo %%i) 遍历当前目录下的所有文件 For /R %%i In (*) Do (Echo %%i) 遍历当前目录下的所有文件,及其子目录中的所有文件 For /R %%i In (.) Do (Echo %%i) 遍历目录树,只显示所有目录及子目录,不显示目录中的文件 3.For /L %variable In (start,step,end) Do command [command=parameters] 该集表示一个数字序列。(1,1,5) 将产生序列(1 2 3 4 5),(1,2,5) 将产生序列 (1 3 5)。 For /L %%i In (1,1,5) Do (Echo %%i) 等同于 For %%i In (1,2,3,4,5) Do (Echo %%i) 4.For /F ["options"] %variable In (set) Do command [command=parameters] 分析文件中的内容,这个比较复杂。 options说明 eol=c 指一个行注释字符的结尾 skip=n 指在文件开始时忽略的行数 delims=xxx 指分隔符集。默认为空格和跳格键 tokens=x,y,m-n 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。 usebackq 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在 filenameset中使用双引号扩起文件名称。 ![]() 语法 |
|