Board logo

标题: [其他] 批处理findstr段落筛选时没有包含关键字的行也被去掉了? [打印本页]

作者: sharehb    时间: 2010-7-28 21:54     标题: 批处理findstr段落筛选时没有包含关键字的行也被去掉了?

遇到了一个小困惑
假设temp4.txt文件中的内容为:
ages 10101-10281 (22 December 2000)</font></B> </p>
es 9843-10099.files/0.gif" width=9>s-Vajda, Andrea
="Issue%2052,%20Pages%2010101-10281/1.pdf">Journal
="Issue%2052,%20Pages%2010101-10281/9.pdf">Journal
"Issue%2052,%20Pages%2010101-10281/10.pdf">Journal  
"Issue%2052,%20Pages%2010101-10281/18.pdf">Journal

执行命令后
for /f "delims= eol=" %%a in ('findstr /v ".gif font" temp4.txt') do echo %%a>>temp5.txt

结果temp5.txt中的内容为:
="Issue%2052,%20Pages%2010101-10281/1.pdf">Journal
="Issue%2052,%20Pages%2010101-10281/9.pdf">Journal


问题出来了,为什么temp5.txt中的内容不是下面这样的呢?
="Issue%2052,%20Pages%2010101-10281/1.pdf">Journal
="Issue%2052,%20Pages%2010101-10281/9.pdf">Journal
"Issue%2052,%20Pages%2010101-10281/10.pdf">Journal  
"Issue%2052,%20Pages%2010101-10281/18.pdf">Journal
作者: Batcher    时间: 2010-7-28 22:17

  1. findstr /v ".gif font" 1.txt >2.txt
复制代码

作者: sharehb    时间: 2010-7-28 22:29

管理员的代码就是简单实用,本人新手,还是不太明白为什么在冗余的循环后,结果会是这样
作者: 随风    时间: 2010-7-28 23:47

delims= eol=" 位置不对,delims最好放在末尾,你的代码 eol相当于忽略了引号开头的行
作者: sharehb    时间: 2010-7-29 18:15

原帖由 随风 于 2010-7-28 23:47 发表
delims= eol=" 位置不对,delims最好放在末尾,你的代码 eol相当于忽略了引号开头的行

一语惊醒梦中人,多谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2