标题: [文件操作] 批处理如何将文件编码由UTF-8转为ANSI? [打印本页]
作者: liusuxuexi 时间: 2016-2-4 16:59 标题: 批处理如何将文件编码由UTF-8转为ANSI?
本帖最后由 pcl_test 于 2016-2-4 17:11 编辑
文件编码由UTF-8转为ANSI的BAT程序怎么写啊 !!求大神指导。。谢谢谢谢
作者: hlzj88 时间: 2016-2-4 17:12
看到这里,注意保护原件。
因为你的文本是utf-8格式的,因此需要先进行转码,因为转码的bat只可以使用一次,因此,把这个bat单独出来转 ...
hlzj88 发表于 2016-1-31 02:19
作者: liusuxuexi 时间: 2016-2-4 17:49
回复 2# hlzj88
啊?啥意思
我的意思是如何把一个目录下文字编码是UTF-8的文件
转成文字编码是ANSI的文件
用BAT怎么实现
作者: CrLf 时间: 2016-2-4 18:46
- @mshta http://bathome.net/s/hta/ type('utf8.txt') >ansi.txt
复制代码
作者: hlzj88 时间: 2016-2-5 07:35
回复 3# liusuxuexi
点击2楼回复里的那个彩色小箭头的图到达链接位置,话说那小图是有点不起眼。
作者: liusuxuexi 时间: 2016-2-5 10:55
回复 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
)
作者: liusuxuexi 时间: 2016-2-5 10:56
回复 4# CrLf
下面的这个代码是JAR包吗?
”http://bathome.net/s/hta/“
作者: liusuxuexi 时间: 2016-2-5 11:00
回复 4# CrLf
文字编码确实变成ANSI了
不过里面的汉子都变成乱码了
作者: wskwfkbdn 时间: 2016-2-5 12:07 标题: 标题
本帖最后由 wskwfkbdn 于 2016-2-6 18:26 编辑
回复 1# liusuxuexi
http://www.bathome.net/thread-39199-1-1.html
使用该命令行,直接输出ansi字符到文本即可
作者: CrLf 时间: 2016-2-5 16:06
本帖最后由 CrLf 于 2016-2-5 16:07 编辑
回复 7# liusuxuexi
哦,上次解决兼容性问题时把 type 忘了...
已将修补后的页面提交给站长,换了一种兼容方式,更新后将可用 type
暂时可用下面这个:- @mshta http://bathome.net/s/hta/ iconv('utf8.txt','ansi.txt','utf-8','gbk')
复制代码
这不是 jar,这是 hta,详见:批处理之家在线 HTA 脚本、批处理之家 js 在线脚本库
作者: CrLf 时间: 2016-2-5 16:09
也可用相关第三方:
http://www.bathome.net/s/tool/?k ... 4%BB%B6%20%E8%BD%AC
作者: hlzj88 时间: 2016-2-5 17:33
本帖最后由 pcl_test 于 2018-4-12 15:29 编辑
回复 6# liusuxuexi
http://www.bathome.net/redirect. ... 54521&ptid=8299
作者: wskwfkbdn 时间: 2016-2-5 20:08
回复 10# CrLf
不靠谱
作者: terse 时间: 2016-2-6 12:59
- @if (0)==(0) echo off
- dir /b a.txt | cscript.exe -nologo -e:jscript %0
- pause & exit
- @end
- while (!WSH.StdIn.AtEndOfStream) {
- var file = WSH.StdIn.ReadLine();
- adoLoadText(file, "UTF-8", "GBK");
- }
-
- function adoLoadText(file, enc1, enc2) {
- var stream, text;
- stream = new ActiveXObject("ADODB.Stream");
- stream.type = 2;
- stream.charset = "437";
- stream.open();
- stream.loadFromFile(file);
- var bom = escape(stream.ReadText(2));
- if (bom == "%u2229%u2557") {
- stream.Position = 0;
- stream.charset = enc1;
- text = stream.readText(-1);
- stream.Position = 0;
- stream.charset = enc2;
- stream.WriteText(text);
- stream.SetEOS();
- stream.SaveToFile(file, 2);
- }
- stream.close();
- }
复制代码
作者: wskwfkbdn 时间: 2016-2-6 18:24
回复 14# terse
有的utf8文本不包含BOM
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |