[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 求助批处理将多个txt文件合并为一个txt文件并转换编码为ANSI?

批处理如何把指定文件下的多个txt文件另存到另一文件夹下,编码为ANSI,且合并成一个txt

因为现在我所有的txt文件编码都是为utf-8的 因为txt文件太多,我手工另存编码ANSI太慢。然后这些txt太多 我想把它合成一个txt
把指定文件下的多个txt文件另存到另一文件夹下,编码为ANSI,且合并成一个txt

请问如何标注已解决

[ 本帖最后由 zjyafei 于 2009-3-26 17:37 编辑 ]

test.bat
  1. @echo off
  2. set SrcFolder=C:\test\BatHome
  3. set DstFolder=C:\test\Batcher
  4. set ResultFile="%DstFolder%\Merge.txt"
  5. for %%a in ("%SrcFolder%\*.txt") do (
  6.   UTF82ANSI.vbs "%%a" "%DstFolder%\%%~nxa"
  7. )
  8. (for %%a in ("%DstFolder%\*.txt") do (
  9.   type "%%a"
  10.   echo.
  11. ))>"%ResultFile%"
  12. start "" "%ResultFile%"
复制代码
UTF82ANSI.vbs
  1. 'UTF82ANSI
  2. aCode = "UTF-8"
  3. bCode = "GB2312"
  4. Set objArgs = WScript.Arguments
  5. FileUrlSrc = objArgs(0)
  6. FileUrlDst = objArgs(1)
  7. Call WriteToFile(FileUrlDst, ReadFile(FileUrlSrc, aCode), bCode)
  8. Function ReadFile(FileUrlSrc, CharSet)
  9.     Dim Str
  10.     Set stm = CreateObject("Adodb.Stream")
  11.     stm.Type = 2
  12.     stm.mode = 3
  13.     stm.charset = CharSet
  14.     stm.Open
  15.     stm.loadfromfile FileUrlSrc
  16.     Str = stm.readtext
  17.     stm.Close
  18.     Set stm = Nothing
  19.     ReadFile = Str
  20. End Function
  21. Function WriteToFile (FileUrlDst, Str, CharSet)
  22.     Set stm = CreateObject("Adodb.Stream")
  23.     stm.Type = 2
  24.     stm.mode = 3
  25.     stm.charset = CharSet
  26.     stm.Open
  27.     stm.WriteText Str
  28.     stm.SaveToFile FileUrlDst, 2
  29.     stm.flush
  30.     stm.Close
  31.     Set stm = Nothing
  32. End Function
复制代码
参考:VBS版文本文件编码转换工具(GB2312、UTF-8、Unicode、BIG5)
http://bbs.bathome.net/thread-3900-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢

终于解决 非常感谢 没有想过用vb转换编码

TOP

//请问如何标注已解决

编辑顶楼帖子修改标题即可

删除 屏蔽 编辑 引用 已阅 报告 评分 回复
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表