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

2019-01-15 22:09:41王振洲


'-------------------------------------------------
'函数名称: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)
    Next
End 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 = Str
End 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 = Nothing
End FunctionView Code

您可能感兴趣的文章:

QueryCode.vbs 文本文件编码查询工具php实现文件编码批量转换python实现批量转换文件编码(批转换编码示例)批量转换目录下文件编码的shell脚本代码Linux下批量修改文件编码