标题: [文本处理] 批处理如何ECHO中文字到一个UTF-8的文本里? [打印本页]
作者: ccstr 时间: 2012-2-15 04:48 标题: 批处理如何ECHO中文字到一个UTF-8的文本里?
一个带BOM的UTF-8编码的文本(编码格式已确定,不允许修改为其他格式),现在要在批处理里往里面追加一些中文字,用ECHO追加进去的中文字全变黑方块了。具体可见附件里的1.bat。
曾经试过用CHCP 65001的方式改变代码页然后再做追加的操作,但是CHCP之后批处理就被中断了,估计跟代码页被修改有关系。即使是手工执行CHCP之后的代码,追加出来的也是黑方块。
该如何往这个文本里追加中文字呢?
谢谢。
作者: plp626 时间: 2012-2-15 13:16
这类问题最好是用三方,
娱乐期间,可以参考此贴:http://www.bathome.net/thread-15524-1-1.html
作者: 523066680 时间: 2012-2-15 16:51
试了一下perl可以
保存脚本的时候保存为utf-8的形式
use utf8;
open WRITE,">>1.txt";
print WRITE "测试一下";
close WRITE;
作者: ccstr 时间: 2012-2-15 18:56
这类问题最好是用三方,
娱乐期间,可以参考此贴:
plp626 发表于 2012-2-15 13:16
谢谢。
作者: ccstr 时间: 2012-2-15 18:57
试了一下perl可以
保存脚本的时候保存为utf-8的形式
use utf8;
open WRITE,">>1.txt";
print WRITE "测 ...
523066680 发表于 2012-2-15 16:51
方法虽然简单,可是在批处理里用不了吖。
作者: find 时间: 2012-2-15 20:16
回复 5# ccstr
BAT无法直接处理UTF-8文件
可以考虑调用VBS进行编码转换
作者: Demon 时间: 2012-8-16 23:15
- copy 1.txt 2.txt
- chcp 437
- (
- echo.
- echo 通用类型/各种各样的类型
- ) >> 2.txt
-
- start 2.txt
复制代码
以utf-8编码(不带BOM)保存为1.bat
作者: kaze 时间: 2018-8-3 09:45
@echo off
REM 声明采用UTF-8编码
chcp 65001
echo test
echo 中文测试
pause
经过测试,这个最简单,韩文,全角字符都不是问题
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |