当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 用VBScript写合并文本文件的脚本

VBScript
VBS的各种应用的比较实用小代码
用VBS调用程序并对程序的运行情况进行监控的两个代码
禁止QQ上网的vbs代码
一个收集的下载木马并运行的VBS代码
可以将文件转换为vbs语句的vbs代码
收藏的比较精典VBS代码
好玩的vbs特色代码vbs栈类
使用VBScript 中的类组织开发
防SQL注入的VBSrcipt代码
用VBSrcipt判断是否是日期
Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
用vbs模拟的一个asp的分页显示功能
本地连接禁用/启用批处理脚本
右键发送(sendto),创建快捷方式到自定义的位置 的vbs
WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码
Adsutil.vbs 在脚本攻击中的妙用[我非我原创]
用VBS修改IIS Metabase 的代码
用VBS实现脚本结束进程与防止进程启动
用vbs实现在启动 Windows 资源管理器时打开特定文件夹
用vbs实现的确定共享文件夹的本地路径?

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 250 ::
收藏到网摘: n/a

合并文本的脚本可以这么写:
复制代码 代码如下:

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