中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 16:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » txt2html.vbs --- 文本转换网页[正规]版 查看 909 回复 4
楼 主 txt2html.vbs --- 文本转换网页[正规]版 发表于 2010-03-18 18:40 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
以前也有人发过类似或者同名的工具,都是自己去转换的,我也弄过。

现在重新发一个,之所以用了两个字,因为是系统自己转换的(除了TAB是你自己转的,因为HTML里面没这个字符)


' TAB制表符在HTML文档不存在,以几个空格代替
Const TAB_LENGTH = 8

Dim textFile, htmlFile, tempText, tabSpace

'显示信息
If WScript.Arguments.Count < 1 Then
MsgBox " ==== TEXT 转 换 HTML ==== " & vbCrLf & vbCrLf & _
" txt2html.vbs ]" _
, 4160, "『据说是李先生』"
WScript.Quit
End If

'TXT源文件为第一个参数
textFile = WScript.Arguments(0)

'如果有第二个参数则当做目标HTML文件路径
If WScript.Arguments.Count > 1 Then htmlFile = WScript.Arguments(1)

'TAB制表符
For tempText = 1 To TAB_LENGTH
tabSpace = tabSpace & " "
Next

'读取TXT文件内容并替换其中的TAB为空格,如果发生错误则退出
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
tempText = .OpenTextFile(textFile, 1, False).ReadAll
textFile = .GetFile(textFile).Path
If Err.Number <> 0 Then
MsgBox "读取文件 失败!" & vbCrLf & vbCrLf & _
Err.Description, 4112, "错误"
WScript.Quit
End If
End With
tempText = Replace(tempText, vbTab, tabSpace)
On Error GoTo 0
Err.Clear

'利用浏览器对象自己的方法来转换TXT到HTML
With CreateObject("InternetExplorer.Application")
.navigate "about:blank"
.visible = 0
.document.body.innerText = tempText
tempText = .document.documentElement.outerHTML
.Quit
End With

'如果指定了输出文件路径则将结果保存到文件,否则直接显示结果(wscript在对话框,cscript在控制台)
If Len(htmlFile) > 0 Then
CreateObject("Scripting.FileSystemObject").CreateTextFile(htmlFile, True).Write tempText
Else
WScript.Echo tempText
End If

保存为扩展名为 .vbs

[ Last edited by qinchun36 on 2010-3-19 at 12:04 ]
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
2 发表于 2010-03-19 15:52 ·  中国 四川 广元 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
怎么保存html文件?

[ Last edited by ZJHJ on 2010-3-19 at 15:55 ]
3 发表于 2010-03-19 16:22 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
比如就转换这个脚本本身为 txt2html.vbs.html 吧:

txt2html.vbs "txt2html.vbs" "txt2html.vbs.html"
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
4 发表于 2010-03-23 20:33 ·  中国 福建 福州 电信
新手上路
积分 3
发帖 3
注册 2010-03-21 16:10
16年会员
UID 162698
性别 男
状态 离线
Originally posted by qinchun36 at 2010-3-19 16:22:
比如就转换这个脚本本身为 txt2html.vbs.html 吧:

txt2html.vbs "txt2html.vbs" "txt2html.vbs.html"

我是菜鸟,能具体点吗?
5 发表于 2010-03-24 09:30 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
Originally posted by lord1987 at 2010-3-23 08:33 PM:

我是菜鸟,能具体点吗?


........

把本贴中的代码保存为 txt2html.vbs , 比如保存到 D:\txt2html.vbs ,

进入 CMD , 切换目录到 D 盘根目录, 输入这行命令:

txt2html.vbs "D:\txt2html.vbs" "D:\txt2html.vbs.html"


回车,就会发现 D 盘根目录下多了一个 html 文件,打开一看就是你刚才复制的文本内容,但是你查看网页源代码会发现其实是 html 代码。
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
论坛跳转: