vbs脚本实现批量转换文件编码 您所在的位置:网站首页 批量转换文本编码格式 vbs脚本实现批量转换文件编码

vbs脚本实现批量转换文件编码

2023-07-07 08:33| 来源: 网络整理| 查看: 265

'/*===========================================================' * 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 实验室设备网 版权所有