欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-27 14:07:14
合并文本的脚本可以这么写: 复制代码 代码如下:sub appendtextfile(filename) set objtextfile = objfso.opentext...
合并文本的脚本可以这么写:
复制代码 代码如下:

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