[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样合并文本,边写入边按500条生成html?

大家好 ,我又来了 ,工作原因 不得不请教各位朋友

文本有1000个  这个我只拿3个文件 来说明一下我的需求

  内容为: 每行一个词    词在5个txt内没有一个是一样的   词语的第一字不是空格
只有中间才有些有空格 无任何其他符号    暂时我用6条供测试

1.txt的内容           2.txt的内容               3.txt的内容          4txt的内容              5.txt的内容

小a游戏                  有12 3                       芝麻开花             游1200戏                 另外了12
1a 活动                   记得 11                     游戏 王               好额ee e                 恶000 劣外
c 1 活 动                 恐怖 he                     15 adddd            ekwk可靠                可渴望 棵
1小 戏                     我54有12 3                954麻开花         饿勒令0                   0恶劣了
a 活 动                     56记得 11                游2戏 王            饿了为了                 2额外恶
c 1 活 动                  恐4怖 he                  15 addd54d       额外elel 1                 饿 批4554

变成 <li>.......</li>;   为一行      class=1   大写的都是对应的文件名哦

<li><a class=1 href='x.php'>小a游戏</a><a class=2 href='x.php'>有12 3</a><a class=3 href='x.php'>芝麻开花</a><a class=4 href='x.php'>游1200戏</a><a class=5 href='x.php'>另外了12</a></li>;
<li><a class=1 href='x.php'>1a 活动</a><a class=2 href='x.php'>记得 11</a><a class=3 href='x.php'>游戏 王</a><a class=4 href='x.php'>好额ee e</a><a class=5 href='x.php'>恶000 劣外</a></li>;
<li><a class=1 href='x.php'>c 1 活 动</a><a class=2 href='x.php'>恐怖 he</a><a class=3 href='x.php'>15 adddd</a><a class=4 href='x.php'>ekwk可靠</a><a class=5 href='x.php'>可渴望 棵</a></li>;
<li><a class=1 href='x.php'>1小 戏</a><a class=2 href='x.php'>我54有12 3</a><a class=3 href='x.php'>954麻开花</a><a class=4 href='x.php'>饿勒令0</a><a class=5 href='x.php'>0恶劣了</a></li>;
<li><a class=1 href='x.php'>a 活 动</a><a class=2 href='x.php'>56记得 11</a><a class=3 href='x.php'>游2戏 王</a><a class=4 href='x.php'>饿了为了</a><a class=5 href='x.php'>2额外恶</a></li>;
<li><a class=1 href='x.php'>c 1 活 动</a><a class=2 href='x.php'>恐4怖 he</a><a class=3 href='x.php'>15 addd54d</a><a class=4 href='x.php'>额外elel 1</a><a class=5 href='x.php'>饿 批4554</a></li>;

每500条保存变成1.html  GBK的        然后从501-1000是保存到2.html的

如果读每个文件20000行  那或许某个文件就没有20000行  
没有的数据话就为空  E文件读到了最后一行没数据了   不写入代替数据 这样就好 <a class=5 href='x.php'> </a>

希望知道的朋友请帮帮我    先 谢谢了

[ 本帖最后由 w1983912 于 2011-3-3 00:27 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

纯批处理大型的文本,效率我不好说,以下代码考虑了每个文本行数都不一样的情况:
  1. @echo off&setlocal enabledelayedexpansion
  2. del /q *.html 2>nul
  3. for %%a in (1 2 3 4 5) do (
  4.     set /a n=0
  5.     for /f "delims=" %%b in (%%a.txt) do (
  6.         set /a n+=1
  7.         set "_!n!-%%a=<a class=%%a href='x.php'>%%b</a>"
  8.     )
  9.     if !max! lss !n! set /a max=n
  10. )
  11. set /a n=0
  12. for /l %%a in (1,1,%max%) do (
  13.     set "str=<li>"&set /a m=%%a%%500
  14.     if "!m!" equ "1" set /a n+=1
  15.     for %%b in (1 2 3 4 5) do (
  16.         if not defined _%%a-%%b (
  17.            set "str=!str!<a class=%%b href='x.php'></a>"
  18.            ) else (
  19.            set "str=!str!!_%%a-%%b!"
  20.          )
  21.      )
  22.      >>!n!.html echo !str!^</li^>
  23. )
复制代码
1

评分人数

***共同提高***

TOP

回复 2楼 的帖子

很好的代码啊  呵呵      谢谢   不过单个10万条的文本都无法处理  。。。 我的天啊 。。。。。。。。。。。
这个真没办法解决

[ 本帖最后由 w1983912 于 2011-3-3 00:57 编辑 ]

TOP

回复 3楼 的帖子

可以考虑使用sed、gawk等
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

其实这样大型的数据,楼主完全可以用excel来完成(超过65536行或超过256列就请用office2007)。先将要处理的文本按顺序复制到同一个excel表格中(一个文本一列),然后在最后一列中(以最后一列为第四列为例)写下如下公式:="<li><a class="&COLUMN(A1)&" href='x.php'>"&A1&"</a><a class="&COLUMN(B1)&" href='x.php'>"&B1&"</a><a class="&COLUMN(C1)&" href='x.php'>"&C1&"</li>",点住这个单元格右下角双击,公式就会自动复制到最后一行。的当然如果列数太多(2007最多可以到16384列),这个公式可以先用批生成,这个我就不写了,相信对于楼主不是难事。
***共同提高***

TOP

返回列表