飞龙博客

feilong.org

编写 .bat 文件让 CMD 正常运行的最佳方案 (6)

编写 .bat 文件让 CMD 正常运行的最佳方案

用 VS Code 或 AI 写 bat 文件,
第一核心要义就是编码匹配。

CMD 永远用系统默认编码读文件。
中文 Windows 默认就是 GBK(936)。
UTF-8 文件会被 GBK 解析导致乱码。

纯英文 bat 用哪种编码都行。
因为 ASCII 是单字节跨编码一致。
推荐存为 UTF-8 无 BOM,省事。

含中文的 bat 必须存 ANSI。
记事本另存为选 ANSI 就是 GBK。
这样 CMD 能原生解析中文字符。

AI 工具写入的 bat 要注意行尾。
中文字节正确但行尾不是 CRLF,
CMD 同样会解析异常。

解决办法是字节级替换 LF 为 CRLF。
不经过任何文本编码转换。
中文就不会被污染破坏。

chcp 65001 不能解决中文解析。
它只改控制台输出,不改文件读取。
真正管用的是文件编码匹配。

不要改系统区域设置为 UTF-8。
那是全局开关,影响所有旧软件。
为一个小脚本改系统不值得。

注册表 autorun 也慎用。
它影响所有 CMD 会话。
管理成本高,不适合分发。

想批量分发脚本就用纯英文。
英文版跨任何语言区域都能跑。
编码兼容性零问题。

中文版只适合中文 Windows 环境。
存为 ANSI,确保行尾 CRLF。
测试时先检查字节是否完整。

记事本另存为 ANSI 是最省心的。
它自动帮你搞定编码、行尾、无BOM。
三步走就能零踩坑运行。

AI 生成代码后复制全部代码。
打开记事本粘贴进去。
点另存为选 ANSI,保存即可运行。

ANSI 中文 bat 不要发给外国朋友。
非中文系统默认不是 GBK 编码。
中文会显示为乱码,无法运行。

只用记事本就能纠齐所有细节。
编码交给 ANSI,行尾交给 CRLF。
工具各司其职,人只管写逻辑。

总结就是两句话,简单好记。
纯英文用 UTF-8,无需任何转换。
带中文用 ANSI,CRLF 收尾。

本文更新网址:https://feilong.org/coding-chinese-bat-cmd-run-ok

2026-05-27 ~ 2026-05-27

加入收藏夹,查看更方便。

分类: AI编程

新作:

旧文:

以下是广告