Board logo

标题: [文本处理] 谁给提供个txt转换输出html文件的批处理思路? [打印本页]

作者: xll    时间: 2010-4-23 10:14     标题: 谁给提供个txt转换输出html文件的批处理思路?

如题,先需要将txt文件的内容自动定时转为html显示,求解

比如:
源文件是以日期为文件名的TXT文件。今天的文件20100423.txt

内容如下: 只截取了一段作为例子
------------------------------------------------------------------------------------
<2010-04-23  10:07:11>
文件<Wonder Girls - Nobody.mp3>开始传输
文件名称:Wonder Girls - Nobody.mp3
文件大小:3,363KBytes
传输用户:all
文件位置:\\temp\张三\Wonder Girls - Nobody.mp3
<2010-04-23  10:07:13>
文件<Wonder Girls - Nobody.mp3>传输完毕.
文件名称:Wonder Girls - Nobody.mp3
文件大小:3,363KBytes
传输用户:all
文件位置:D:\\temp\张三\Wonder Girls - Nobody.mp3
传输用时:0时0分2秒
平均速度:1,570KBytes/s
<2010-04-23  11:09:10>
文件<情系玉树 大爱无疆!.mp3>开始传输
文件名称:情系玉树 大爱无疆!.mp3
文件大小:5,803KBytes
传输用户:administrator
文件位置:D:\\temp\qcz\情系玉树 大爱无疆!.mp3
<2010-04-23  11:09:14>
文件<情系玉树 大爱无疆!.mp3>传输完毕.
文件名称:情系玉树 大爱无疆!.mp3
文件大小:5,803KBytes
传输用户:administrator
文件位置:D:\\temp\qcz\情系玉树 大爱无疆!.mp3
传输用时:0时0分4秒
平均速度:1,658KBytes/s

-------------------------------------------------------------------------------------

选转换为我想要的html输出,条件是只显示传输用户为all或者为administrator的部分(或者都显示,可自定义)。
大概就是这样,输出形式不见得和原TXT形式一样

[ 本帖最后由 xll 于 2010-4-23 14:27 编辑 ]
作者: yangfengoo    时间: 2010-4-23 11:40

求解 自动将石头转换为黄金
作者: GNU    时间: 2010-4-23 13:29

能否给段文本做例子,说说你想怎样转换?
作者: x9tiancmd    时间: 2010-4-23 13:43

楼主能不能主个例子呢, 发觉咱们没法做到心有灵犀一点通
作者: xll    时间: 2010-4-23 14:27

多谢楼上的,已经跟新了,给了例子
作者: hanyeguxing    时间: 2010-4-23 16:54

自动定时由任务计划来完成
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set b=%%a%%b%%c
  3. for /f "delims=" %%a in (%b%.txt) do (
  4.         set "a=%%a"
  5.         if /i "!a:~5!"=="all" set set==
  6.         if /i "!a:~5!"=="administrator" set set==
  7.         if /i "!a:~0,1!"=="<" (
  8.         if defined set type temp.txt >>%b%.html
  9.         set "set="
  10.         cd.>temp.txt
  11.         )
  12.         >>temp.txt echo.%%a^<b寒夜孤星r^>
  13. )
  14. if defined set type temp.txt >>%b%.html
  15. del /q temp.txt
复制代码
记得把“寒夜孤星”四个字去掉!

[ 本帖最后由 hanyeguxing 于 2010-4-23 17:10 编辑 ]
作者: xll    时间: 2010-4-23 17:07

谢谢楼上高手,我消化一下
作者: hanyeguxing    时间: 2010-4-23 17:11     标题: 回复 7楼 的帖子

重新修改了,不能直接打<b r>,晕
作者: xll    时间: 2010-4-23 22:30

输出htm没问题了,还有个问题就是
我想只显示最近5分钟内的结果,如果最近5分钟没有新数据则不更新。

还有能否逆序输出html?就是上面显示最新的更新,旧的数据在下面?
作者: hanyeguxing    时间: 2010-4-24 00:24

代码未经过测试
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set m=%%a%%b%%c
  3. set "rar=D:\Program Files\xerox\WinRAR\rar.exe"
  4. if not exist "%rar%" (echo.变量rar设置错误&pause&exit) else "%rar%" a -tn5m -inul ye %m%.txt
  5. if not exist ye.rar (exit) else del /q ye.rar
  6. for /f %%a in ('find /c /v "" ^<%m%.txt') do set end=%%a
  7. for /f "tokens=1* delims=:" %%a in ('findstr /n .* %m%.txt') do (
  8.         set "a=%%b"
  9.         if /i "!a:~5!"=="all" set set==
  10.         if /i "!a:~5!"=="administrator" set set==
  11.         if "!a:~0,1!"=="<" call:han "!b!"
  12.         if %%a==%end% call:han "!b!"
  13.         set "b=!b!|%%b^<b寒夜孤星r^>"
  14. )
  15. (for /f "tokens=2-11 delims=|" %%a in ('set k_^|sort /r') do (
  16.         echo.%%a&echo.%%b&echo.%%c&echo.%%d&echo.%%e
  17.         if not "%%f"=="" echo.%%f
  18.         if not "%%g"=="" echo.%%g
  19.         if not "%%h"=="" echo.%%h
  20.         if not "%%i"=="" echo.%%i
  21.         if not "%%j"=="" echo.%%j
  22. )
  23. )>%m%.html
  24. exit
  25. :han
  26. set "b=%~1"
  27. set/a n+=1
  28. set "k_!n!=!b!"
  29. if not defined set set "k_!n!="
  30. set "b="
  31. set "set="
复制代码
把“寒夜孤星”四个字去了

[ 本帖最后由 hanyeguxing 于 2010-4-24 00:31 编辑 ]
作者: xll    时间: 2010-4-24 17:34

应该是有问题
调用rar是什么用途?
作者: hanyeguxing    时间: 2010-4-24 19:38

原帖由 xll 于 2010-4-24 17:34 发表
应该是有问题
调用rar是什么用途?

什么是应该?
作者: xll    时间: 2010-4-27 09:26

恩,很好用。

谢谢 寒夜!

[ 本帖最后由 xll 于 2010-4-27 10:36 编辑 ]




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