Board logo

标题: txt2html.vbs --- 文本转换网页[正规]版 [打印本页]

作者: qinchun36     时间: 2010-3-18 18:40    标题: txt2html.vbs --- 文本转换网页[正规]版

以前也有人发过类似或者同名的工具,都是自己去转换的,我也弄过。

现在重新发一个,之所以用了[正规]两个字,因为是系统自己转换的(除了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 [TextFileName [HtmlFileName]]" _
                , 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  "读取文件 [" & textFile & "] 失败!" & 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 ]
作者: ZJHJ     时间: 2010-3-19 15:52
怎么保存html文件?

[ Last edited by ZJHJ on 2010-3-19 at 15:55 ]
作者: qinchun36     时间: 2010-3-19 16:22
比如就转换这个脚本本身为 txt2html.vbs.html 吧:
txt2html.vbs "txt2html.vbs" "txt2html.vbs.html"

作者: lord1987     时间: 2010-3-23 20:33


  Quote:
Originally posted by qinchun36 at 2010-3-19 16:22:
比如就转换这个脚本本身为 txt2html.vbs.html 吧:
txt2html.vbs "txt2html.vbs" "txt2html.vbs.html"

我是菜鸟,能具体点吗?
作者: qinchun36     时间: 2010-3-24 09:30


  Quote:
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 代码。