找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 38382|回复: 11

[文本处理] [已解决]怎么用批处理实现TXT转HTML?

[复制链接]
发表于 2011-5-16 22:46:42 | 显示全部楼层 |阅读模式
研究了一下HTML的标准格式


要让TXT转为HTML,需要如下条件:


1.文件的第一行加上:<html><body><span>
   文件的最后一行加上:</span></body></html>
2.中间每行最后加上:<br>
3.当两个文字中间的空格超过1格时,则把此文字到下个文字间的空格替换成:&nbsp;
4.把txt文件的后缀换成html



希望有能力的高手来帮帮忙!!!!!


另外我在百度贴吧也求助了~有个高手给了代码,但是出现了很多问题~~~你可以做下参考~
地址:http://tieba.baidu.com/f?kz=1074397246



.
发表于 2011-5-17 01:49:11 | 显示全部楼层
  1. sed "$!s/^/<br>/;s/ /\&nbsp;/g;1s/^<br>/<html><body><span>\n/;$s/$/\n<\/span><\/body><\/html>/" 1.txt | more >1.html
复制代码
http://bbs.bathome.net/thread-3981-1-1.html
发表于 2011-5-17 02:36:52 | 显示全部楼层
不如用html 的预格式化标记

  1. <pre>
  2. 此处是文本内容:
  3. this is bathome,
  4. hello, im here
  5. good bye
  6. </pre>
复制代码

评分

参与人数 1技术 +1 收起 理由
zm900612 + 1 思路简明

查看全部评分

 楼主| 发表于 2011-5-18 15:19:07 | 显示全部楼层
3# techon


呵呵~谢谢你~这个格式我试了~ 编译以后确实可以支持搜索了!
 楼主| 发表于 2011-5-18 15:20:14 | 显示全部楼层
2# Batcher


我试了~存在很多问题~~~~ 不过还是谢谢你了!!!
发表于 2011-5-18 16:03:26 | 显示全部楼层
按照3楼的办法,批量转换:
  1. @echo off
  2. for %%a in (*.txt) do (
  3.    echo ^<pre^>
  4.    type "%%a"
  5.    echo ^</pre^>
  6. )>"%%~na.htm"
复制代码
 楼主| 发表于 2011-5-18 16:05:15 | 显示全部楼层
不如用html 的预格式化标记

此处是文本内容:
this is bathome,
hello, im here
good bye


techon 发表于 2011-5-17 02:36



对了····这个批处理应该怎么写啊???   
1.在文本首行加上<pre>
            末行加上</pre>
2.把文本后缀变为html
 楼主| 发表于 2011-5-18 16:07:47 | 显示全部楼层
本帖最后由 398832385 于 2011-5-18 16:12 编辑

6# zm900612


呵呵~~~你的头像好搞笑啊~~~~

我试了你给的批处理~  无效~~~ 生成的HTM文件里只有
<pre>
</pre>

文字都没有了·····
=========================
对不起···是我搞错了~ 可以用~不过我发现了一个小缺点·····
最后的 </pre> 在最后1行文字后,而不是独立的最后一行····

比如:(-----间为内容)
------------------
123
321

123545
------------------

转后为:

------------------
<pre>
123
321

123545</pre>

------------------
发表于 2011-5-18 17:33:59 | 显示全部楼层
那把type换成more就行了:
  1. @echo off
  2. for %%a in (*.txt) do (
  3.    echo ^<pre^>
  4.    more "%%a"
  5.    echo ^</pre^>
  6. )>"%%~na.htm"
复制代码
 楼主| 发表于 2011-5-18 17:48:41 | 显示全部楼层
9# zm900612


OH YEAH~ 可以了!!!谢谢大家的帮助!!!!
对了~我有点疑问·~~~为什么每次对文本操作以后,最后1行都会留一个空行?
发表于 2011-5-18 18:01:40 | 显示全部楼层
因为用的是echo,不想换行可以改用set /p
  1. @echo off
  2. for %%a in (*.txt) do (
  3.    echo ^<pre^>
  4.    more "%%a"
  5.    set /p=^</pre^><nul
  6. )>"%%~na.htm"
复制代码
发表于 2011-5-18 23:37:29 | 显示全部楼层
5# 398832385


什么问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:09 , Processed in 0.019118 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表