您现在的位置是:网站首页> 编程资料编程资料
用VBScript写合并文本文件的脚本_vbs_
2023-05-25
273人已围观
简介 用VBScript写合并文本文件的脚本_vbs_
合并文本的脚本可以这么写:
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文件的参数的,可惜这里并不生效。
请教了Google大师,发现有人说用OpenAsTextStream是可以的,可惜在我的环境里还是不成功。
另外一个想法是读入文件的时候,自行判断文件开始三个字节是否标识符,这也被判断是不可行的方法,因为FSO提供的Read是按字符进行读取,这样,在有中文的环境里,我们不可能正好读出这三个字节。
类似的问题在IIS6里面被微软确认,好像也有一个对应的补丁出来,但是对于批处理文件的情况,似乎还是没有修改过来。
最后,MSDN帮了很大的忙,但是它的地址很不好找,记录一下:
http://msdn.microsoft.com/en-us/library/ms950396.aspx
复制代码 代码如下:
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. |
另外一个想法是读入文件的时候,自行判断文件开始三个字节是否标识符,这也被判断是不可行的方法,因为FSO提供的Read是按字符进行读取,这样,在有中文的环境里,我们不可能正好读出这三个字节。
类似的问题在IIS6里面被微软确认,好像也有一个对应的补丁出来,但是对于批处理文件的情况,似乎还是没有修改过来。
最后,MSDN帮了很大的忙,但是它的地址很不好找,记录一下:
http://msdn.microsoft.com/en-us/library/ms950396.aspx
您可能感兴趣的文章:
相关内容
- SQL获取表结构的show_table.vbs (冰点极限NP)_vbs_
- Shell.Application执行命令的五种方法小结_vbs_
- 利用vbs写的延时关闭ie进程的脚本代码_vbs_
- 使用xcacls.vbs(cacls.exe)修改NTFS权限说明(中文版)第1/2页_vbs_
- QueryCode.vbs 文本文件编码查询工具_vbs_
- VBS实现GB2312,UTF-8,Unicode,BIG5编码转换工具_vbs_
- 屏蔽端口的vbs脚本_vbs_
- 写个设置命令的VBS脚本代码_vbs_
- VBS 断网后自动关机30秒后_vbs_
- 用vbs实现的利用ADSL拨号变ip刷投票的代码_vbs_
