;/F ["options"] [%% | %]variable in ("literal string") do command[command-parameters]
for /F ["options"] [%% | %]variable in (’command’) do command [command-parameters]
或者,如果出现 usebackq 选项:
for /F ["options"] [%% | %]variable in (filenameset) do command [command-parameters]
for /F ["options"] [%% | %]variable in (’literal string’) do command [command-parameters]
for /F ["options"] [%% | %]variable in (`command`) docommand [command-parameters]
filenameset 参数指定一个或多个文件名称。在继续到 filenameset 中的下一个文件之前,每个文件都会被打开、读取和处理。
过程由读取文件、分成独立的文本行及然后将每行解析成零个或更多个令牌组成。然后使用设置为找到的一个或多个令牌字符串的变量值(或多个值)集合调用 for 循环体。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。
跳过空行。通过指定可选的“options”参数可以覆盖默认的解析行为。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。关键字是:
关键字 说明
eol=c 指定行尾注释字符(只一个字符)
skip=n 指定在文件的开头跳过的行数。
delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集。
tokens=x,y,m-n 指定将令牌从每行传递到每个反复的正文。这将导致分配其他变量名。m-n 格式是一个范围,指定从 mth 到 nth 的令牌。如果在令牌 = 字符串中最后一个字符是星号,则将分配附加的变量,并在解析最后一个令牌后在行上接收剩余的文本。
usebackq 指定将右引号字符串作为命令执行,单引号字符串是文字字符串命令,您可以使用双引号包括 filenameset 中的文件名。
变量替换
此外,已经增强了 for 变量引用的替换修改程序。现在可以使用下列可选的语法(对于任何变量 I):
变量(使用修改程序) 说明
%~I 展开删除了周围的任何引号 (") 的 %I
%~fI 将 %I 展开到完全合格的路径名
%~dI 只将 %I 展开到驱动器号
%~pI 只将 %I 展开到路径
%~nI&