WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1931查看
  • 0回复

主题

好友

1936

积分

金牌会员

发表于 2010-1-23 11:28:32 |显示全部楼层
大家都知道for是批处理中最为强大的命令,对于个别人来说几乎已是达到“无for不批”了。而for命令中有for for /l for /d for /r for
/f 五种句式,而for /f句式中又有eol skip delim tokens usebackq几个参数。至于usebackq skip delims tokens这几个参数大家经常
会用到,论坛也有详细的讲解和说明,今天我就想和大家来谈谈极少用到又很有用处的eol参数:
    当for /f句式中出现eol=a,就表示忽略所有以a字符打头的行,例如a.txt:
复制内容到剪贴板
代码:
;ab c
kbdj
ac m
ka nh
bmp
运行以下代码就会忽略显示所有以k字符打头的行:
复制内容到剪贴板
代码:
@echo off
for /f "eol=k delims=" %%a in (a.txt) do echo %%a
pause>nul
for会默认忽略以;号打头的行,那么要怎么用for句式来完全显示a.txt的所有行呢?呵呵,大家可别忘记了eol,还是先来运行以下
代码:
复制内容到剪贴板
代码:
@echo off
for /f "eol= delims=" %%a in (a.txt) do echo %%a
pause>nul
是不是;ab c这行的内容也被显示出来了,当eol=后面不跟任何字符的时候,for句式将会同样显示原本默认为忽略以;号打头的行。
要注意的是eol=后面要么就跟一个字符要么就置空(或空格,但空格是没有意义的),像eol=ab这样使用,程序就会报错:此时不
应有 b"。
       综上所述总结如下:
      1、"eol="将会打破for对;号打头行的默认忽略而将其显示出来
      2、"eol=a"将会忽略以a字符打头的行,但会显示以;号开头的行
      3、eol=后面只能跟一个字符或置空

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-2 23:35 , Processed in 0.064970 second(s), 16 queries .

返回顶部