vbs脚本实现批量转换文件编码 | 您所在的位置:网站首页 › 批量转换文本编码格式 › vbs脚本实现批量转换文件编码 |
'/*===========================================================' * Intro 把要转换的多个文件/文件夹拖到该文件上即可' * FileName ConvertCode.vbs' * Author Florian' * Version v1.0' * LastModify 2014-06-11 00:39:58' *==========================================================*/
'-------------------------------------------------'设置编码:默认 utf-8 --> gb2312'------------------------------------------------- SrcCode="utf-8"DestCode="gb2312" '-------------------------------------------------'解析参数'------------------------------------------------- Set fs = CreateObject("scripting.filesystemobject")Set objArgs = WScript.ArgumentsIf objArgs.Count>0 Then For I = 0 To objArgs.Count - 1 FileUrl = objArgs(I) Call ConvertDir(FileUrl) NextElse MsgBox "没有文件/文件夹被拖入!" wscript.quitEnd IfMsgBox "转换成功!" '-------------------------------------------------'函数名称:ConvertDir'作用:将任意目录内的文件进行编码转换'------------------------------------------------- Function ConvertDir(DirUrl) If fs.FileExists(DirUrl) Then Call ConvertFile(DirUrl) Else Call SearchDir(DirUrl) End IfEnd Function '-------------------------------------------------'函数名称:SearchDir'作用:递归查找目录内的文件,进行编码转换'------------------------------------------------- Function SearchDir(path) Set folder = fs.getfolder(path) Set subfolders = folder.subfolders Set Files = folder.Files For Each i In Files Call ConvertFile(i.path) Next For Each j In subfolders Call SearchDir(j.path) NextEnd Function '-------------------------------------------------'函数名称:ConvertFile'作用:将一个文件进行编码转换'------------------------------------------------- Function ConvertFile(FileUrl) Call WriteToFile(FileUrl, ReadFile(FileUrl, SrcCode), DestCode)End Function '-------------------------------------------------'函数名称:ReadFile'作用:利用AdoDb.Stream对象来读取各种格式的文本文件'------------------------------------------------- Function ReadFile(FileUrl, CharSet) Dim Str Set stm = CreateObject("Adodb.Stream") stm.Type = 2 stm.mode = 3 stm.charset = CharSet stm.Open stm.loadfromfile FileUrl Str = stm.readtext stm.Close Set stm = Nothing ReadFile = StrEnd Function '-------------------------------------------------'函数名称:WriteToFile'作用:利用AdoDb.Stream对象来写入各种格式的文本文件'------------------------------------------------- Function WriteToFile (FileUrl, Str, CharSet) Set stm = CreateObject("Adodb.Stream") stm.Type = 2 stm.mode = 3 stm.charset = CharSet stm.Open stm.WriteText Str stm.SaveToFile FileUrl, 2 stm.flush stm.Close Set stm = NothingEnd FunctionView Code |
CopyRight 2018-2019 实验室设备网 版权所有 |