标题: [文本处理] 谁给提供个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
自动定时由任务计划来完成- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set b=%%a%%b%%c
- for /f "delims=" %%a in (%b%.txt) do (
- set "a=%%a"
- if /i "!a:~5!"=="all" set set==
- if /i "!a:~5!"=="administrator" set set==
- if /i "!a:~0,1!"=="<" (
- if defined set type temp.txt >>%b%.html
- set "set="
- cd.>temp.txt
- )
- >>temp.txt echo.%%a^<b寒夜孤星r^>
- )
- if defined set type temp.txt >>%b%.html
- 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
代码未经过测试- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set m=%%a%%b%%c
- set "rar=D:\Program Files\xerox\WinRAR\rar.exe"
- if not exist "%rar%" (echo.变量rar设置错误&pause&exit) else "%rar%" a -tn5m -inul ye %m%.txt
- if not exist ye.rar (exit) else del /q ye.rar
- for /f %%a in ('find /c /v "" ^<%m%.txt') do set end=%%a
- for /f "tokens=1* delims=:" %%a in ('findstr /n .* %m%.txt') do (
- set "a=%%b"
- if /i "!a:~5!"=="all" set set==
- if /i "!a:~5!"=="administrator" set set==
- if "!a:~0,1!"=="<" call:han "!b!"
- if %%a==%end% call:han "!b!"
- set "b=!b!|%%b^<b寒夜孤星r^>"
- )
- (for /f "tokens=2-11 delims=|" %%a in ('set k_^|sort /r') do (
- echo.%%a&echo.%%b&echo.%%c&echo.%%d&echo.%%e
- if not "%%f"=="" echo.%%f
- if not "%%g"=="" echo.%%g
- if not "%%h"=="" echo.%%h
- if not "%%i"=="" echo.%%i
- if not "%%j"=="" echo.%%j
- )
- )>%m%.html
- exit
- :han
- set "b=%~1"
- set/a n+=1
- set "k_!n!=!b!"
- if not defined set set "k_!n!="
- set "b="
- 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 |