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

[文件操作] 批处理如何将文件编码由UTF-8转为ANSI?

本帖最后由 pcl_test 于 2016-2-4 17:11 编辑

文件编码由UTF-8转为ANSI的BAT程序怎么写啊 !!求大神指导。。谢谢谢谢

看到这里,注意保护原件。
因为你的文本是utf-8格式的,因此需要先进行转码,因为转码的bat只可以使用一次,因此,把这个bat单独出来转 ...
hlzj88 发表于 2016-1-31 02:19
目的,学习批处理

TOP

回复 2# hlzj88


    啊?啥意思
   我的意思是如何把一个目录下文字编码是UTF-8的文件
   转成文字编码是ANSI的文件
用BAT怎么实现

TOP

  1. @mshta http://bathome.net/s/hta/ type('utf8.txt') >ansi.txt
复制代码

TOP

回复 3# liusuxuexi
点击2楼回复里的那个彩色小箭头的图到达链接位置,话说那小图是有点不起眼。
目的,学习批处理

TOP

回复 2# hlzj88

你说的时下面这段代码吗?编码是转了 不过文件里面的内容没了

    @echo off
echo 这是编码转换bat,对于utf8格式文本转换为ansi格式,但只敢使用一次,不可重复使用
pause
for %%a in (*.txt) do (
    title 编码转换 文件是 %%a
    iconv -c -f utf-8 -t gb2312 "%%a" >"gb%%a"
    move /y "gb%%a" "%%a">nul
    )

TOP

回复 4# CrLf


下面的这个代码是JAR包吗?

    ”http://bathome.net/s/hta/“

TOP

回复 4# CrLf


    文字编码确实变成ANSI了
  不过里面的汉子都变成乱码了

TOP

标题

本帖最后由 wskwfkbdn 于 2016-2-6 18:26 编辑

回复 1# liusuxuexi
http://www.bathome.net/thread-39199-1-1.html
使用该命令行,直接输出ansi字符到文本即可

TOP

本帖最后由 CrLf 于 2016-2-5 16:07 编辑

回复 7# liusuxuexi


哦,上次解决兼容性问题时把 type 忘了...
已将修补后的页面提交给站长,换了一种兼容方式,更新后将可用 type

暂时可用下面这个:
  1. @mshta http://bathome.net/s/hta/  iconv('utf8.txt','ansi.txt','utf-8','gbk')
复制代码
这不是 jar,这是 hta,详见:批处理之家在线 HTA 脚本批处理之家 js 在线脚本库

TOP

TOP

本帖最后由 pcl_test 于 2018-4-12 15:29 编辑

回复 6# liusuxuexi
http://www.bathome.net/redirect. ... 54521&ptid=8299
目的,学习批处理

TOP

回复 10# CrLf


    不靠谱

TOP

  1. @if (0)==(0) echo off
  2. dir /b a.txt | cscript.exe -nologo -e:jscript %0
  3. pause & exit
  4. @end
  5. while (!WSH.StdIn.AtEndOfStream) {
  6.     var file = WSH.StdIn.ReadLine();
  7.     adoLoadText(file, "UTF-8", "GBK");
  8. }
  9. function adoLoadText(file, enc1, enc2) {
  10.     var stream, text;
  11.     stream = new ActiveXObject("ADODB.Stream");
  12.     stream.type = 2;
  13.     stream.charset = "437";
  14.     stream.open();
  15.     stream.loadFromFile(file);
  16.     var bom = escape(stream.ReadText(2));
  17.     if (bom == "%u2229%u2557") {
  18.         stream.Position = 0;
  19.         stream.charset = enc1;
  20.         text = stream.readText(-1);
  21.         stream.Position = 0;
  22.         stream.charset = enc2;
  23.         stream.WriteText(text);
  24.         stream.SetEOS();
  25.         stream.SaveToFile(file, 2);
  26.     }
  27.     stream.close();
  28. }
复制代码

TOP

回复 14# terse

有的utf8文本不包含BOM

TOP

返回列表