问题
cmd.exe /c xxx.bat
有问题的乱码结果:
xxxxxxxx
�밴���������. . .
原因**
Windows 批处理脚本 (bat.bat) 输出乱码(如 �밴���������. . .)是由于 控制台编码不匹配 导致的。pause 命令的提示文本(“请按任意键继续. . .”)在非中文系统或编码错误时可能显示为乱码。
- 编码不匹配:CMD 默认编码是
GBK(中文系统)或CP437(英文系统),而环境可能误用了其他编码。 - 非中文系统:
pause的提示文本在非中文系统中可能无法正确显示。 - 终端工具问题:如果通过 VS Code、Git Bash 等工具运行,可能因终端编码设置不一致导致乱码。
解决方法
1. 强制使用 UTF-8 编码(推荐)
在脚本开头添加 chcp 65001,将控制台切换为 UTF-8 编码:
@echo off
chcp 65001 > nul
echo Hello, Windows!
pause
说明:
chcp 65001设置控制台为 UTF-8 编码。> nul隐藏chcp的输出。
解决效果
Hello, Windows!
Press any key to continue . . .

8441

被折叠的 条评论
为什么被折叠?



