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

解决方法
- 改变编码格式为ANSI
- 在原先 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

拓展
| 代码页 | 映射的字符集 |
|---|---|
| 936 | GB2312 |
| 20127 | US-ASCII |
| 65001 | UTF-8 |
本文来自博客园,作者:Mazy_699,转载请注明原文链接:https://www.cnblogs.com/mazy-699/p/14531069.html

浙公网安备 33010602011771号