Board logo

标题: [求助]高手请帮忙!批处理问题? [打印本页]

作者: ivan     时间: 2003-12-31 00:00    标题: [求助]高手请帮忙!批处理问题?

小弟最近看了批处理的文章,有许多不懂之处,恳请高手指点。
FOR /F [options] %variable IN (file-set) DO command
FOR /F [options] %variable IN (string) DO command
FOR /F [options] %variable IN ('command') DO command
  eol=c           - 指一个行注释字符的结尾(就一个)
skip=n          - 指在文件开始时忽略的行数。
delims=xxx      - 指分隔符集。这个替换了空格和跳格键的
                   默认分隔符集。
tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                   的 for 本身。这会导致额外变量名称的分配。m-n
                   格式为一个范围。通过 nth 符号指定 mth。如果
                   符号字符串中的最后一个字符星号,
                   那么额外的变量将在最后一个符号解析之后
                   分配并接受行的保留文本。
usebackq        - 指定新语法已在下类情况中使用:
                   在作为命令执行一个后引号的字符串并且一个单
                   引号字符为文字字符串命令并允许在 filenameset
                   中使用双引号扩起文件名称。

对于FOR /F 有许多不懂之处,希望高手多举些实例解释一下以上参数呀 。



[em16]
作者: ivan     时间: 2004-1-6 00:00
为什么没有人回我的贴呀 !
作者: aria     时间: 2004-1-7 00:00
这一段实在是看不懂啊
作者: ddy1975     时间: 2004-1-14 00:00
这个是根据命令行下面“for /?”的提示翻译的,最好看原文。

我只能说说大致意思:

eol : 指定以什么为一行的结束标志

skip=n : for循环从指定文件的第n+1行开始,即跳过前n个非空白行

delims=xxx : 'xxx'中的每一个字符,将被看成token(就是一段字串)的分隔符,

tokens=x,y,m-n : 指定将传递给%variable变量的token;如果tokens=之后多于一个参数,将自动定义%(variable+1),等等;注如果variable是i,则自动定义的下一个是j,k,。。。

usebackq: 使用用户定义的语法,主要是引号的用法不一样。意思如下:
  在不使用用户定义的语法时,for的语法如下(注意各种引号的用法)
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]

  如果使用用户定义的语法时,for的语法如下(注意各种引号的用法)
    or, if usebackq option present:

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]