以前也有人发过类似或者同名的工具,都是自己去转换的,我也弄过。
现在重新发一个,之所以用了两个字,因为是系统自己转换的(除了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 ]