标题: [网络连接] 求助批处理将多个txt文件合并为一个txt文件并转换编码为ANSI? [打印本页]
作者: zjyafei 时间: 2009-3-26 14:40 标题: 求助批处理将多个txt文件合并为一个txt文件并转换编码为ANSI?
批处理如何把指定文件下的多个txt文件另存到另一文件夹下,编码为ANSI,且合并成一个txt
因为现在我所有的txt文件编码都是为utf-8的 因为txt文件太多,我手工另存编码ANSI太慢。然后这些txt太多 我想把它合成一个txt
把指定文件下的多个txt文件另存到另一文件夹下,编码为ANSI,且合并成一个txt
请问如何标注已解决
[ 本帖最后由 zjyafei 于 2009-3-26 17:37 编辑 ]
作者: Batcher 时间: 2009-3-26 16:14
test.bat- @echo off
- set SrcFolder=C:\test\BatHome
- set DstFolder=C:\test\Batcher
- set ResultFile="%DstFolder%\Merge.txt"
- for %%a in ("%SrcFolder%\*.txt") do (
- UTF82ANSI.vbs "%%a" "%DstFolder%\%%~nxa"
- )
- (for %%a in ("%DstFolder%\*.txt") do (
- type "%%a"
- echo.
- ))>"%ResultFile%"
- start "" "%ResultFile%"
复制代码
UTF82ANSI.vbs- 'UTF82ANSI
- aCode = "UTF-8"
- bCode = "GB2312"
- Set objArgs = WScript.Arguments
-
- FileUrlSrc = objArgs(0)
- FileUrlDst = objArgs(1)
- Call WriteToFile(FileUrlDst, ReadFile(FileUrlSrc, aCode), bCode)
-
- Function ReadFile(FileUrlSrc, CharSet)
- Dim Str
- Set stm = CreateObject("Adodb.Stream")
- stm.Type = 2
- stm.mode = 3
- stm.charset = CharSet
- stm.Open
- stm.loadfromfile FileUrlSrc
- Str = stm.readtext
- stm.Close
- Set stm = Nothing
- ReadFile = Str
- End Function
-
- Function WriteToFile (FileUrlDst, Str, CharSet)
- Set stm = CreateObject("Adodb.Stream")
- stm.Type = 2
- stm.mode = 3
- stm.charset = CharSet
- stm.Open
- stm.WriteText Str
- stm.SaveToFile FileUrlDst, 2
- stm.flush
- stm.Close
- Set stm = Nothing
- End Function
复制代码
参考:VBS版文本文件编码转换工具(GB2312、UTF-8、Unicode、BIG5)
http://bbs.bathome.net/thread-3900-1-1.html
作者: zjyafei 时间: 2009-3-26 17:34 标题: 谢谢
终于解决 非常感谢 没有想过用vb转换编码
作者: Batcher 时间: 2009-3-26 17:44
//请问如何标注已解决
编辑顶楼帖子修改标题即可
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |