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

[文本处理] 批处理如何实现在不改变txt文本原编码的情况下在首尾添加内容?

本帖最后由 pcl_test 于 2016-4-26 19:49 编辑

utf-8的txt被处理后变成了gb2312了,如何保持原文本格式呢?
  1. @echo off
  2. for /r %%a in (*.txt) do (
  3. (echo ----------------------------------------------------------
  4. echo ^开始字串符
  5. echo ----------------------------------------------------------
  6. echo.
  7. type "%%a"
  8. echo.
  9. echo.
  10. echo ----------------------------------------------------------
  11. echo 结束字串符
  12. echo ----------------------------------------------------------)>$
  13. move /y $ "%%a"
  14. )
复制代码
1

评分人数

混编吧,单纯批处理很难对付utf-8。

TOP

回复 1# iseeyou


    把bat文件以ansi格式保存生成的文件也会是ansi

TOP

二进制的方式修改好像不涉及到编码问题。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

处理ANSI文件,中文会乱码,因为python3字符串都是unicode编码
以下代码可以正常处理UTF-8编码的文件。
  1. """
  2. python3
  3. 2016年4月27日 07:27:01 codegay
  4. """
  5. import glob
  6. head=(
  7. """----------------------------------------------------------
  8. 开始字串符
  9. ----------------------------------------------------------
  10. """).encode()
  11. til=("""
  12. ----------------------------------------------------------
  13. 结束字串符
  14. ----------------------------------------------------------
  15. """).encode()
  16. for r in glob.glob("*mac.txt"):
  17.     with open(r,"rb+") as f:
  18.         txt=head+f.read()+til
  19.         f.seek(0)
  20.         f.write(txt)
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 5# codegay


    gb2312的无法处理,添加的字符乱码?可以改成gb2312也可以用的吗?

TOP

返回列表