赞
踩
转载自 http://hi.baidu.com/haohaopc/blog/item/1924e0244376b5024d088d63.html
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
options为可选参数包括:
eol=c - 指一个行注释字符的结尾(就一个) (个人理解是:注释掉以某个字符开始的行)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的分配。m-n
格式为一个范围。通过 nth 符号指定 mth。如果
符号字符串中的最后一个字符为星号,
那么额外的变量将在最后一个符号解析之后
分配并接受行的保留文本。 (个人理解是:分割为几部分)
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 filenameset
中使用双引号扩起文件名称。
%variable 指定一个单一字母为可替换的参数。指定变量请使用 %%variable。
for /f的主要作用是从文本行中提取出特定的字符串。因此,它的每一个循环处理的就是一行文本。要从这行文本中提取出特定的字符串,就需要对这一行文本进行分隔,分隔的结果就是将这一行文本分成了若干个部分,例如下面一行文本:
2007-04-02
for /f "tokens=1-3 delims=-" %1 in ("2007-04-02") do @echo %2%3
首先delims利用"-"进行分隔
tokens 指明为1-3 说明是3部分,还可以用其他方式表达如 tokens=1,2,3 或者tokens=1,2,* (*表示出1,2部分外剩余的部分,这个示例里面就代表第3部分)
%1的意思是参数从%1开始划分(也可以是字母) 后面两部分依次是%2和%3
in 说明要处理的字符在哪
do 表示开始执行命令
@echo作用是隐藏命令(屏幕输出时就隐藏了echo命令)
%2%3 说明输出字符的排序,可以添加字符进行连接如: %2月%3日 就会输出 04月02日
注意事项:
您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或
'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且, 同时不能有 52 个以上都在使用中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。