用VBScript写合并文本文件的脚本

所属分类: 脚本专栏 / vbs 阅读数: 974
收藏 0 赞 0 分享
合并文本的脚本可以这么写:
复制代码 代码如下:

Sub AppendTextFile(filename)
Set objTextFile = objFSO.OpenTextFile(filename, ForReading, true, -2)
Do Until objTextFile.AtEndOfStream
objOutFile.WriteLine(objTextFile.Readline)
Loop
End Sub

可是如果所读取的文件是UTF-8格式的,那么文件开头的三个字节的标识符会被脚本认为是数据,这样这个标识符就变成了合并后文件里的乱码。
FSO是提供了打开Unicode文件的参数的,可惜这里并不生效。

TristateUseDefault

-2

Opens the file using the system default.

TristateTrue

-1

Opens the file as Unicode.

TristateFalse

0

Opens the file as ASCII.

请教了Google大师,发现有人说用OpenAsTextStream是可以的,可惜在我的环境里还是不成功。

另外一个想法是读入文件的时候,自行判断文件开始三个字节是否标识符,这也被判断是不可行的方法,因为FSO提供的Read是按字符进行读取,这样,在有中文的环境里,我们不可能正好读出这三个字节。

类似的问题在IIS6里面被微软确认,好像也有一个对应的补丁出来,但是对于批处理文件的情况,似乎还是没有修改过来。
最后,MSDN帮了很大的忙,但是它的地址很不好找,记录一下:
http://msdn.microsoft.com/en-us/library/ms950396.aspx
更多精彩内容其他人还在看

用vbs实现读取文本文件的方法

用vbs实现读取文本文件的方法
收藏 0 赞 0 分享

一个实现VBS倒计时的代码

一个实现VBS倒计时的代码
收藏 0 赞 0 分享

用vbs实现将剪切板的unix格式的内容处理成pc格式的代码

用vbs实现将剪切板的unix格式的内容处理成pc格式的代码
收藏 0 赞 0 分享

用vb和vbs 破解flashxp的密码的代码

用vb和vbs 破解flashxp的密码的代码
收藏 0 赞 0 分享

用VBS实现的批量gb2312转utf-8,支持拖动

用VBS实现的批量gb2312转utf-8,支持拖动
收藏 0 赞 0 分享

用vbs实现的XP序列号替换器

用vbs实现的XP序列号替换器
收藏 0 赞 0 分享

VBS可以做什么的简单说明

VBS可以做什么的简单说明
收藏 0 赞 0 分享

用vbs实现cmd功能的代码

用vbs实现cmd功能的代码
收藏 0 赞 0 分享

VBS基础编程教程 (第1篇)

发现大部分黑白的朋友都不会编程, 这可不是件好事, 所以这次我就写了一个简单的编程教程, 讲一下VBScript. 主要面向菜鸟, 懂得编程的朋友就不要浪费时间了
收藏 0 赞 0 分享

VBS编程教程 (第2篇)

VBS编程教程 (第2篇)
收藏 0 赞 0 分享
查看更多