bat批处理运行乱码

bat批处理运行时乱码的解决方法

问题现象

bat文件中包含中文,保存的编码格式UTF-8,此时运行该bat文件会出现乱码

@echo off
echo ------------------开始---------------------
for /f   %%i in (test.txt)  do (
SetLocal EnableDelayedExpansion
echo %%i
set str=%%i
Set str=!Str:Helloo=hello!
  echo !str!>>1.txt
  EndLocal
)
echo ------------------结束---------------------
echo. & pause

image

解决方法

  1. 改变编码格式为ANSI
  2. 在原先 bat 脚本文件中声明更改代码页 chcp 65001
chcp 65001
@echo off
echo ------------------开始---------------------
for /f   %%i in (test.txt)  do (
SetLocal EnableDelayedExpansion
echo %%i
set str=%%i
Set str=!Str:Helloo=hello!
  echo !str!>>1.txt
  EndLocal
)
echo ------------------结束---------------------
echo. & pause

image

拓展

代码页 映射的字符集
936 GB2312
20127 US-ASCII
65001 UTF-8
posted @ 2021-03-13 23:53  Mazy_699  阅读(446)  评论(0)    收藏  举报