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

[文本处理] 批处理如何ECHO中文字到一个UTF-8的文本里?

一个带BOM的UTF-8编码的文本(编码格式已确定,不允许修改为其他格式),现在要在批处理里往里面追加一些中文字,用ECHO追加进去的中文字全变黑方块了。具体可见附件里的1.bat。
曾经试过用CHCP 65001的方式改变代码页然后再做追加的操作,但是CHCP之后批处理就被中断了,估计跟代码页被修改有关系。即使是手工执行CHCP之后的代码,追加出来的也是黑方块。
该如何往这个文本里追加中文字呢?
谢谢。

@echo off
REM 声明采用UTF-8编码
chcp 65001
echo test
echo 中文测试
pause

经过测试,这个最简单,韩文,全角字符都不是问题

TOP

  1. copy 1.txt 2.txt
  2. chcp 437
  3. (
  4. echo.
  5. echo 通用类型/各种各样的类型
  6. ) >> 2.txt
  7. start 2.txt
复制代码
以utf-8编码(不带BOM)保存为1.bat

TOP

回复 5# ccstr


BAT无法直接处理UTF-8文件
可以考虑调用VBS进行编码转换

TOP

试了一下perl可以
保存脚本的时候保存为utf-8的形式
use utf8;
open WRITE,">>1.txt";
print WRITE "测 ...
523066680 发表于 2012-2-15 16:51


方法虽然简单,可是在批处理里用不了吖。

TOP

这类问题最好是用三方,

娱乐期间,可以参考此贴:
plp626 发表于 2012-2-15 13:16


谢谢。

TOP

试了一下perl可以
保存脚本的时候保存为utf-8的形式
use utf8;
open WRITE,">>1.txt";
print WRITE "测试一下";
close WRITE;
1

评分人数

    • ccstr: 乐于助人技术 + 1

TOP

这类问题最好是用三方,

娱乐期间,可以参考此贴:http://www.bathome.net/thread-15524-1-1.html
1

评分人数

TOP

返回列表