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

[文本处理] 谁给提供个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 编辑 ]

恩,很好用。

谢谢 寒夜!

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

TOP

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

什么是应该?
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

应该是有问题
调用rar是什么用途?

TOP

代码未经过测试
  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 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

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

还有能否逆序输出html?就是上面显示最新的更新,旧的数据在下面?

TOP

回复 7楼 的帖子

重新修改了,不能直接打<b r>,晕
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

谢谢楼上高手,我消化一下

TOP

自动定时由任务计划来完成
  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 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

多谢楼上的,已经跟新了,给了例子

TOP

楼主能不能主个例子呢, 发觉咱们没法做到心有灵犀一点通
    ╭╩═╮
╭╯G O ╠ 雁过留声
╰⊙═⊙╯

TOP

能否给段文本做例子,说说你想怎样转换?

TOP

求解 自动将石头转换为黄金

TOP

返回列表