当前位置:DOS资源站资料中心批处理教程 → 提取<title>与</title>之间的内容为新文件第一行

提取<title>与</title>之间的内容为新文件第一行

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-5-31 21:45:49

每个文件都要进行类似处理:
提取<title>与</title>之间的内容为新文件第一行,
提取<pre>与</pre>之间的内容并删除其中的空行赋给新文件第一行之后的行
把新文件改名为旧文件名。

有几篇文章,是三毛的,我想把文章打到纸上看,文件名是这样的一些 01.TXT,02.TXT,03.TXT,...,88.TXT
他们是我用批处理处理了01.htm,02.htm,03.htm,...,88.htm(把他们的每个文件的后缀名改成.txt)的结果。每个文件内容都是这样的(复制一下内容到记事本,请调整“格式“为不要在自动换行处打勾):
04.txt内容如下:
<html>
<head><title>平沙漠漠夜带刀</title></head>
<body background="../../../../images/back-1.jpg" leftmargin="50">
<CENTER><B><FONT COLOR="#FF6666"><FONT POINT-SIZE="16">平沙漠漠夜带刀            </FONT></FONT></B></CENTER>
<FONT SIZE=+1>
<pre>

    我们的三毛,走啊走的,走到撒哈拉去了,她的朋友们总要说她:“嗨!三毛,好好的
德文教授不干,何必呢!”她留学过西班牙,在马德里大学毕业,美国伊利诺州的公务员也
检定及格。

    可是,她一直说:我喜欢流浪。

    我初抵沙漠时,十分希望做世界第一个
......
  我大笑起来,笑得跌跌撞撞,踏到死人胸口上。我笑够了,对这个小家伙说:“胆子那
么小,又要半夜里出来祷告,快回去吧!”

    他对我弯了一下腰,走了。

    我发现,一只脚正踏在他母亲的左手。望望四周,月光没有了,那边坟场尽头处,似有
东西爬出来。我低叫一声快逃啊,一口气跑回家,撞开门来,将背靠在门上喘气,看看表,
四十分钟的路程,才十五分钟就跑回来了。就如朋友所说:“沙漠有趣的事情很多,你慢慢
的去发现吧!”今夜,真是够了。
</pre>
</font>
<center><A HREF="12.htm"><IMG SRC="up.gif" nosave border=0 alt="前" width="91" height="25"></A>      <img src="home.gif" alt="黄金书屋" nosave border=0></A>      <A HREF="14.htm"><IMG SRC="next.gif" alt="后" nosave border=0 width="176" height="25"></A></center>
</body>
</html>


我想把正文(即<pre>与</pre>之间的内容)打印出来,并在头上加上<title>与</title>之间的内容。
每个txt文件的格式都与上面的类似,有不同的地方在于<pre>与</pre>之间的内容和<title>与</title>之间的内容等,
我想求个批处理,要求把每个txt文件重新编辑成:
<title>与</title>之间的内容,另起一行
<pre>与</pre>之间的内容,并删除其中的空行
的格式,文件名不变。
变成如下的04.txt文件内容:


平沙漠漠夜带刀
    我们的三毛,走啊走的,走到撒哈拉去了,她的朋友们总要说她:“嗨!三毛,好好的
德文教授不干,何必呢!”她留学过西班牙,在马德里大学毕业,美国伊利诺州的公务员也
检定及格。
    可是,她一直说:我喜欢流浪。
    我初抵沙漠时,十分希望做世界第一个
......
  我大笑起来,笑得跌跌撞撞,踏到死人胸口上。我笑够了,对这个小家伙说:“胆子那
么小,又要半夜里出来祷告,快回去吧!”
    他对我弯了一下腰,走了。
    我发现,一只脚正踏在他母亲的左手。望望四周,月光没有了,那边坟场尽头处,似有
东西爬出来。我低叫一声快逃啊,一口气跑回家,撞开门来,将背靠在门上喘气,看看表,
四十分钟的路程,才十五分钟就跑回来了。就如朋友所说:“沙漠有趣的事情很多,你慢慢
的去发现吧!”今夜,真是够了。


批处理代码如下:
@echo off&md abcd
set "f=\<<title>.*</title>\>"
for /f "tokens=1,4 delims=:<>" %%a in ('findstr "%f%" *.txt') do set ".%%~na=%%b"
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%a in ('findstr /v "[<>]" *.txt') do (
   if not defined %%~na set %%~na=aaa&>>"abcd\%%a" echo !.%%~na!
   >>"abcd\%%a" echo.%%b
)
start abcd