导航

yaosansi's Blog

当你背向太阳的时候,你只会看到自己的阴影!能力是有限的,努力无限的!

« 十大最欺骗眼睛的图片如何:对Windows 窗体控件进行线程安全调用 »

vbScript 中读写各种编码的文件

  • 本站大部分内容从网上收集,收集目的仅供研究、学习。涉及版权或不希望收录您的文章请您及时与我联系。
  • 本站IM群,请自行选择。请各位朋友按照自己喜好加入。加入群后请及时发言,防止被清理。谢谢您的合作!!!
  • QQ群:Y①WEB开发(ASP.NET)号码:7351660 QQ群:Y②WEB开发(ASP+.NET)号码:11864905
  • QQ群:Y③WEB开发(DIV+CSS)号码:16610506 QQ群:Y④WEB开发(JS+AJAX)号码:16143998
  • QQ群:Y⑤WEB开发(新手)号码:12777715 MSN群:yaosansi[at]126.com
我们使用 FileSystemObject 对象创建文件时候,由于这是个早期版本,你想创建一个utf-8编码的文件,或者读取时候,很容易出现乱码。这时候,你可以使用 ADODB.Stream 对象:

下面的代码就是一个简单的vbScript例子,

把C:\Logs\ 目录下的所有文件和并到一个568.txt 文件:

Function LoadFile(Path)
Dim Stm2
Set Stm2 = CreateObject("ADODB.Stream")
Stm2.Type = 2
Stm2.Mode = 3
Stm2.Open

Stm2.LoadFromFile Path
'Stm2.Charset = "UTF-8"
'Stm2.Charset = "Unicode"
Stm2.Charset = "GB2312"

Stm2.position = 0
LoadFile = Stm2.ReadText
Stm2.Close
Set Stm2 = nothing
End Function

Dim Stm1
Set Stm1 = CreateObject("ADODB.Stream")
Stm1.Type = 2
Stm1.Open
'Stm1.Charset = "UTF-8"
Stm1.Charset = "Unicode"
Stm1.Position = Stm1.Size

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("C:\Logs\")
Set fc = f.Files

For Each f1 in fc
'Wscript.Echo f1.name
Message = LoadFile("C:\Logs\"&f1.name)
'Wscript.Echo Message
Stm1.WriteText Message
Next
set fc = nothing
set f = nothing
set fso = nothing


Stm1.SaveToFile "568.txt",2
Stm1.Close
set Stm1 = nothing

注意:你需要根据你自己对应文件夹下文件的编码,设置ADODB.Stream 对象的 Charset 属性。

我就是在这个代码例子基础上,把我对数据库的每个表、存储过程定义的sql,合并为一个文件,这样,我可以在每次需要发布的时候,执行一边这个脚本,就自动产生需要发布的sql语句集合了。

附:

FileSystemObject 对象的创建文件说明
object.CreateTextFile(filename[, overwrite[, unicode]])

unicode 可选项。Boolean 值,指明文件是否以 Unicode 或 ASCII 文件方式创建。如果文件作为 Unicode 文件创建,则值为 true ,如果作为 ASCII 文件创建,则为 false。如果忽略,则假定为 ASCII 文件。

原创文章如转载,请注明:转载自http://www.yaosansi.com
订阅本站,阅读更多文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright 2005-2008 yaosansi'site All Rights Reserved.

感谢Denny·G 为本站提供FTP空间
辽ICP备05021434号

Search

  •  

赞助商广告

控制面板

最新评论及回复

最近发表